整合Dubbo常见错误
Dubbo整合常见错误
本地IP获取失败
错误详情
1 | 2021-05-16 17:10:42.915 INFO 26664 --- [ main] org.apache.dubbo.config.ServiceConfig : [DUBBO] No valid ip found from environment, try to find valid host from DNS., dubbo version: 2.7.8, current host: 192.168.125.116 |
错误原因
org.apache.dubbo.config.ServiceConfig#findConfigedHosts方法中hostToBind = provider.getHost();获取生产者IP失败,该问题只出现于Dubbo程序与Nacos服务端Ip不一致的情况下
解决方式
在配置文件中添加
dubbo.protocol.host=本机IP
本机注册IP失败
由于多网卡原因,可能会导致获取IP错误,请禁用无用网卡,或将正确联网网卡顺序调整为第一位。
消费者启动时找不到对应的生产者
错误详情
1 | No provider available for the service top.kthirty.demo.alibaba.dubbo.provider.service.IEchoService:1.0.0 from the url registry://localhost:9090/org.apache.dubbo.registry |
错误原因
消费者在生产者之前启动时会出现这个问题,由于消费者启动时默认检查服务有效性
解决方式
添加dubbo.consumer.check=false
禁用检查,生产者启动后可以正常使用
订阅多Services警告
警告详情
1 | Current application will subscribe all services(size:0) in registry |
出现原因
由于应用未指定订阅的应用,dubbo会自动订阅所有应用
解决方式
添加dubbo.cloud.subscribed-services
配置(该警告不会影响正常使用)
随机端口失败
错误详情
1 | Failed to bind NettyServer on /192.168.125.116:20880, cause: Address already in use |
错误原因
由于多网卡原因可能会导致随机IP失败,20880端口在程序测试时永远未被占用
解决方式
添加dubbo.protocol.port
配置,不要使用-1,使用正确未被占用的端口
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KTHIRTY!