问题1、如果作为注册中心的zookeeper宕机了,那消费者是否还能调用提供者的服务呢?
答案:当然是可以的。
先来看请求controller的一个方法
请求过浏览器上得到的结果
现在我来关闭zookeeper的服务,相当于整个注册中心是已经宕机了,这时我再刷新浏览器
结果还是一样的,说明提供者还是能够为消费者服务的
那是因为提供者通过本地缓存进行通讯的,如果本地缓存被清除了,那双方就不能通信了
2、提供者是否可以绕过注册中心为消费者提供服务?
答案也是可以的,消费者通过@Reference(url="")注解,指明提供者的地址及端口号,就能够绕过注册中心,实现直连了
dubbo还有以下的健壮性:
1、监控中心宕机,只是不能进行数据的采集,还是不影响双方通信的
2、数据库宕机,双方仍可以通过本地缓存进行通信,但是不能注册新服务
3、注册中心对等集群,任意一台宕机后,将自动切换到另一台
4、服务提供者全部宕机,消费者将无法使用,并且会无限次重连,等待服务者提供服务