1、服务器多网卡绑定,导致服务起来后程序自己选择的ip不对。

2、提供服务的机器开启了vpn。

3、dubbo配置文件中写死了host。

 

以下为转载:转自http://www.ithao123.cn/content-7471097.html

使用了VPN,启动了dubbo服务提供者应用,又连了正式环境的注册中心;

一旦dubbo获取的ip错误后(拨了vpn 本机IP就会有多个),

 这种情况即使提供者服务停掉,目前dubbo没有能力清除这类错误的提供者;

 (需要修改源码测试,需要客户端重新更细包,因为清除动作client端)

 规避方案:

  1. 线上最好直接把(连接注册中心的)做ip限制,VPN拨上的IP过滤掉;
  2. 团队人员行为控制;
  3. 拨VPN又需要调试dubbo提供者的应用时,指定DUBBO服务IP的主机绑定;

 

发现这种情况的解决方法:

  1. 到dubbo管理后台,禁用错误的服务提供者;

 

Dubbo主机IP绑定说明:

 

缺省主机IP查找顺序:

  • 通过LocalHost.getLocalHost()获取本机地址。
  • 如果是127.*等loopback地址,则扫描各网卡,获取网卡IP。

注册的地址如果获取不正确,比如需要注册公网地址,可以:
1. 可以在/etc/hosts中加入:机器名 公网IP,比如:

test1 205.182.23.201

 

2. 在dubbo.xml中加入主机地址的配置:

<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

相关文章:

  • 2022-01-10
  • 2022-01-06
  • 2022-02-14
  • 2022-12-23
  • 2021-11-18
  • 2021-10-05
猜你喜欢
  • 2021-04-07
  • 2021-05-11
  • 2021-05-17
  • 2021-09-20
  • 2021-06-28
  • 2022-12-23
  • 2021-10-16
相关资源
相似解决方案