很喜欢的一句话,时光刻下痕迹。在旅途中向前走,风景更替地交换,从那个秋的八月与相逢在金色的季节:Doubbo+ZK。

       顾名思义,ZK是Zookeeper的缩写。正如学习的5个W,看到doubbo+ZK名词,跳动思绪去延伸它们的故事。

      Dubbo是一个优秀的高性能的阿里公司开源服务框架,可以与spring集成。其核心的部件主要是Remoting(网络通信框架)、RPC(远程过程调用协议)和Registry(服务注册和事件发布订阅),其原理如图所示:


      其中,provider服务提供者即暴露服务方,例如:提供基础数据的基础系统;consumer服务消费方即调用远程服务方,例如使用基础数据的考评系统;registry服务注册中心,用于服务的注册于发现;monitor服务监控中心,统计调用时间和次数。

      服务提供者向注册中心注册提供的服务并向监控中心回报调用时间,消费者从注册中心获取提供者地址列表然后通过RPC直接调用并向监控中心汇报,注册中心正是提供者和消费者的桥梁,两者在启动时与注册中心交互。注册中心负责服务地址的注册和查找,通过长连接感知提供者存在,一旦提供出现问题注册中心会立即通知消费者。

      zookeeper是开源的分布式应用程序协调服务。它们之间是怎么的一种关系呢?

     doubbo是一个框架,zookeeper是一个注册中心。doubbo支持多种类型的注册中心,比如说zookeeper、redis等,可以这么说框架架子上使用什么放什么取决于自己,比如说一个风筝有基本的骨架,至于用什么线牵动由自己决定。在doubbo框架中,需要一个分布式的服务中心进行消息的通信管理,ZK此时挺身而出。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐