您的位置:首页 > 运维架构 > 网站架构

微服务架构Dubbo之注册中心(Zookeeper)

2020-03-28 20:23 986 查看

3 月,跳不动了?>>>

注册中心简介

在微服务架构中,注册中心是核心的基础服务之一。在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用,Dubbo是一个非常实用的框架,提供了比较完善的服务治理功能,而服务治理的实现主要依靠的就是注册中心。

Dubbo官网架构图

在Dubbo架构图中,可以看到注册中心(Registry)位于顶端,所有的服务治理相关的操作都围绕它进行。服务提供者(Provider)注册到注册中心,服务消费者(Comsumer)到注册中心订阅,同时,注册中心中的变更也会通知服务消费者。

注册中心的调用过程

  1. 服务提供者启动时,会将自己的服务信息(服务名称/IP地址/端口号等)写入注册中心。

  2. 当注册中心接收提供者数据时,会动态的维护服务列表数据。

  3. 当消费者启动时,首先会链接注册中心.获取服务列表数据。

  4. 当注册中心接收到消费者的请求之后,先将消费者的信息进行记录. 将服务列表信息发给消费者。

  5. 当消费者接收注册中心发来的数据之后,将数据保存到消费者本地.至此消费者启动完成. 等待用户的调用。

  6. 当消费者接收调用时,则根据服务列表数据找到可以提供服务的提供者,之后利用负载均衡算法,挑选其中一个进行访问。

  7. 注册中都有心跳检测机制. 当服务器发生宕机现象时,注册中心会动态的维护服务列表数据.同时全网广播,通知所有的消费者更新服务列表数据.保证服务数据的一致性。

Dubbo可以用Zookeeper作为注册中心,存储提供者注册的远程服务信息

Zookeeper采用树形的目录结构来存储信息

  • 服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地 址
  • 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地 址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
  • 监控中心启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地 址。
Zookeeper支持以下功能:
  • 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
  • 当注册中心重启时,能自动恢复注册数据,以及订阅请求
  • 当会话过期时,能自动恢复注册数据,以及订阅请求
  • 当设置<dubbo:registry check="false" />时,记录失败注册和订阅请求,后台定时重试
  • 可通过设置<dubbo:registry username="admin" password="124" />设置zookeeper 登录信息
  • 可通过<dubbo:registry group="dubbo" />设置 zookeeper 的根节点,不设置将使用无 根树
  • 支持 * 号通配符 <dubbo:redistry group="" version="" />,可订阅服务的所有分组 和所有版本的提供者
下文是--->微服务架构Dubbo之Zookeeper安装测试和Zookeeper集群的搭建
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ZooKeeper Dubbo
相关文章推荐