dubbo配置的时候需要一个注册中心 这个注册中心主要起的作用为服务做配置 每当一个服务生产者去注册服务时候 会把这个生产者的ip跟端口号丢上去注册中心 而服务的消费方就会从注册中心拿到服务的ip跟端口号 放在本地文件中 底层调用netty访问服务
昨天跟同事一块调程序 他开服务生产者 我开服务调用者 后边就出Failed to check the status of the service . No provider available for the service 这个问题 然后就去dubboadmin上边看 服务正常启动 但是服务提供者的ip是192.168.83.1 是同事搞虚拟机的时候弄虚拟网卡的地址 所以我这边消费方拿到他的虚拟网卡ip才访问不到服务 于是乎 禁用虚拟网卡 问题解决
问题解析:
这里不一定是虚拟网卡的原因 首先dubbo服务生产者提供服务到注册中心 dubbo会拿出一张网卡的ip地址提供给注册中心(这里拿出的网卡个人还不确定是哪一张 个人感觉是随机取) 如果服务注册的ip是内网或者虚拟网卡或者其他什么情况这种ip让消费者访问不到的情况 会出现这个问题 只要我们把服务生产者其他的网卡禁用了就可以了
补充一点。。若是在监控中心中 调用者被禁用 也有可能会出现此情况