首页新闻找找看学习计划

dubbo服务提供者滞后启动,需要重启消费者吗?

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-04 20:21

描述:预发布环境,服务消费者调用了一个服务,配置ok,但是该服务的提供者代码未更新,并未暴露该服务,即xml中并未配置该服务<dubbo:service .... />。

那么问题来了:为解决该问题,服务提供者要更新为最新代码重新发布,但是服务消费者需要重新启动,让其去zookeeper中重新注册获取吗?

如切如磋,如琢如磨的主页 如切如磋,如琢如磨 | 菜鸟二级 | 园豆:216
提问于:2017-05-04 15:33
< >
分享
最佳答案
1

  好吧,实践证明,不用重启。dubbo官方文档上说记录:

服务消费者启动时
订阅/dubbo/com.foo.BarService/providers目录下的提供者URL地址。
并向/dubbo/com.foo.BarService/consumers目录下写入自己的URL地址。

  dubbo是采用发布/订阅模式的,服务者启动只是添加订阅信息,当没有生产者时等同所有生产者宕机,此时“服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复”,事实证明,服务消费者只是该服务无法使用,其他服务正常。

  ps:当然,如果在服务消费者启动过程中就要调用服务提供者,那么就会启动失败。

如切如磋,如琢如磨 | 菜鸟二级 |园豆:216 | 2017-05-04 20:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册