使用了虚拟机之后,启动了dubbo服务提供者应用,又连了正式环境的注册中心;
一旦dubbo获取的ip错误后, 这种情况即使提供者服务停掉,目前dubbo没有能力清除这类错误的提供者;
(需要修改源码测试,需要客户端重新更细包,因为清除动作client端,我司就是这么干的)
规避方案:
- 线上最好直接把(连接注册中心的)做ip限制,VPN拨上的IP过滤掉;
- 团队人员行为控制;
- 拨VPN又需要调试dubbo提供者的应用时,指定DUBBO服务IP的主机绑定;
发现这种情况的解决方法:
- 到dubbo管理后台,禁用错误的服务提供者;
Dubbo主机IP绑定说明:
缺省主机IP查找顺序:
- 通过LocalHost.getLocalHost()获取本机地址。
- 如果是127.*等loopback地址,则扫描各网卡,获取网卡IP。
注册的地址如果获取不正确,比如需要注册公网地址,可以:
1. 可以在/etc/hosts中加入:机器名 公网IP,比如:
test1 205.182.23.201 |
2. 在dubbo.xml中加入主机地址的配置:
扫描二维码关注公众号,回复:
4383559 查看本文章
![](/qrcode.jpg)
<dubbo:protocol host="http://10.20.160.198/wiki/display/dubbo/205.182.23.201"> |
3. 或在dubbo.properties中加入主机地址的配置:
dubbo.protocol.host=205.182.23.201 |