Dubbo执行流程?
0 start: 启动Spring容器时,自动启动Dubbo的Provider
1、register: Dubbo的Provider在启动后自动会去注册中心注册内容.注册的内容包括:
1.1 Provider的 IP
1.2 Provider 的端口.
1.3 Provider 对外提供的接口列表.哪些方法.哪些接口类
1.4 Dubbo 的版本.
1.5 访问Provider的协议.
2、subscribe: 订阅.当Consumer启动时,自动去Registry获取到所已注册的服务的信息.
3、notify: 通知.当Provider的信息发生变化时, 自动由Registry向Consumer推送通知.
4、invoke: 调用. Consumer 调用Provider中方法
4.1 同步请求.消耗一定性能.但是必须是同步请求,因为需要接收调用方法后的结果.
5、count:次数. 每隔2分钟,provoider和consumer自动向Monitor发送访问次数.Monitor进行统计.
Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用
注册中心对等集群,任意一台宕掉后,会自动切换到另一台
注册中心全部宕掉,服务提供者和消费者仍可以通过本地缓存通讯
服务提供者无状态,任一台 宕机后,不影响使用
服务提供者全部宕机,服务消费者会无法使用,并无限次重连等待服务者恢复