目录:
服务注册与发现机制
 服务调用
 线程派发机制
 1、服务注册与发现机制
 Dubbo的服务注册与发现机制如下图所示:
Dubbo中存在4类角色:
Registry 注册中心。
 Consumer 服务调用者、消费端。
 Provider 服务提供者。
 Monitor 监控中心。
 调用过程:
服务提供者 Provider 启动然后向 Registry 注册自己所能提供的服务。
 服务消费者 Consumer 向Registry订阅所需服务,Consumer 解析Registry提供的元信息,从服务中通过负载均衡选择 Provider调用。
 服务提供方 Provider 元数据变更的话Registry会把变更推送给Consumer,以此保证Consumer获得最新可用信息。
 注意点:
Provider 跟 Consumer 在内存中记录调用次数跟时间,定时发送统计数据到Monitor,发送的时候是短连接。
 Monitor 跟 Registry 是可选的,可直接在配置文件中写好,Provider 跟 Consumer进行直连。
 Monitor 跟 Registry 挂了也没事, Consumer 本地缓存了 Provider 信息。
 Consumer 直接调用 Provider 不会经过 Registry。Provider、Consumer这俩到 Registry之间是长连接。
 Dubbo官方提供了多种注册中心,接下来将以使用最为普遍的Zookeeper进一步介绍注册中心的原理。首先我们来看一下Zookeeper注册中心中的数据存储目录结构,从目录结构来窥探其实现机制。