dubbo 与 zookeeper
1.使用dubbo+zookeeper ,如果注册中心挂掉,是否可以继续通信?(zk集群可以达到高可用,但是如果全部挂掉呢?)
我答了不可以吧(项目没用过,自学没又这深度)
正确答案:
dubbo使用分为【提供者】、【消费者】
【提供者】在启动时,向注册中心zk【注册】自己提供的服务
【消费者】在启动时,向注册中心zk【订阅】自己需要的服务
所谓【订阅】,是消费者启动时,会从zk拉去注册的生产者的地址接口等信息,缓存到本地,每次调用时,按照本地缓存的地址进行调用
虽然【消费者】本地有一个生产者的列表,会按照列表继续调用,但是无法从注册中心同步更新最新的服务列表,注册中心短期可以挂掉,需要尽快修复
【监控中心宕机】 不影响使用,丢失部分采样数据
【数据库宕机】注册中心通过缓存提供服务列表查询,但是不能注册新服务
【注册中心对等集群】任意一台宕机,将自动切换到另一台
【注册中心全部宕机】服务提供者与消费者通过本地缓存通信
【服务提供者宕机】服务消费者无法使用,无限次重连等待提供者恢复
2.dubbo 如何实现 NIO ?