springboot工程dubbo使用nacos作为配置中心

1 兼容dubbo配置xml的方式
进展并不顺利,因为当dubbo的配置放在bootstrap.yml中是没有问题的,但是放在nacos中读取,则会提示消费的异常,这里调试ReferenceConfig发现总有一个<dubbo:registry />的配置,因为他没有指定zookeeper的注册地址,所以dubbo默认采用9090,于是就找不着了。但为何在bootstrap.yml中却没有这个异常呢?
1
跟踪到AbstractInterfaceConfigloadRegistries方法,执行this.checkRegistry();发现<dubbo:registry />的配置有了zookeeper的应用
在调试前还没有zookeeper的地支,经过appendProperties之后就有了,那么这里做了什么呢?
1
调试到ConfigUtilsgetProperty发现从bootstrap.yml中可以获取到配置文件
1
再回过头看从nacos的方式,就没有任何属性可以读取,现在应该考虑nacos加载配置文件模式的研究了
1
跟踪到DubboUtils中可以看到dubbo的属性配置是从环境变量可以看到
1
应该跟加载顺序有关,但好像也没有影响
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
暂且先将dubbo的配置写到bootstrap.yml中,以后再解决此问题吧。
当多个网卡的时候,dubbo注册会失败,

多网卡指定确定的ip

  application:
    name: eayc-gateway-server
  cloud:
    nacos:
      config:
        server-addr: ${nacos.server-addr}
        file-extension: yml
        namespace: ${nacos.namespace}
      discovery:
        ip: 192.168.0.106
        server-addr: ${nacos.server-addr}
        namespace: ${nacos.namespace}

但是如果用的是虚拟专用网络,则上面的方案不行,下面这个10.42.12.43就不是我们所需要的网络。他是虚拟专用网自动分配的网段

Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://10.42.12.43:30905/org.apache.dubbo.metadata.MetadataService?codec=dubbo&connections=1&corethreads=2&dubbo=2.0.2&group=acc-mbms-server&heartbeat=60000&port=30905&protocol=dubbo&release=3.0.12&retries=0&side=provider&threadpool=cached&threads=100&timeout=5000&version=1.0.0) failed to connect to server /10.42.12.43:30905 client-side timeout 3000ms (elapsed: 3009ms) from netty client 192.168.0.106 using dubbo version 3.0.12

那么这个网络是从哪里来的呢?

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warrah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值