zoukankan      html  css  js  c++  java
  • 【DUBBO】zookeeper在dubbo中作为注册中心的原理结构

    【一】原理图

    【二】原理图解释

    流程:
    1.服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写入URL
    2.服务消费者启动时订阅/dubbo/com.foo.BarService/providers目录下的URL向/dubbo/com.foo.BarService/consumers目录下写入自己的URL
    3.监控中心启动时订阅/dubbo/com.foo.BarService目录下的所有提供者和消费者URL

    支持以下功能:

    1.当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。

    2.当注册中心重启时,能自动恢复注册数据,以及订阅请求。

    3.当会话过期时,能自动恢复注册数据,以及订阅请求。

    4.当设置<dubbo:registry check="false" />时,记录失败注册和订阅请求,后台定时重试。

    5.可通过<dubbo:registry username="admin" password="1234" />设置zookeeper登录信息。

    6.可通过<dubbo:registry group="dubbo" />设置zookeeper的根节点,不设置将使用无根树。

    7.支持*号通配符<dubbo:reference group="*" version="*" />,可订阅服务的所有分组和所有版本的提供者。

    【三】Dubbo的基本服务流程

    (1)提供服务的项目启动后将自己要对外提供的服务注册到Zookeeper上。/dubbo/接口名/providers/url

    (2)消费服务的项目启动后向自己需要消费的接口节点订阅服务列表(/dubbo/接口名/providers),同时将自己的地址写到(/dubbo/接口名/consumers/url)

    (3)当订阅成功后,一旦所订阅的节点下的服务列表有变化,zookeeper就会向消费端推送新的服务列表地址

    (4)消费者要调用某个服务,则根据订阅的服务列表中根据路由规则挑选一台,调用服务提供者。

    (5)在调用的同时会消费者和服务提供者会统计调用次数,记录到内存中。定时将数据推送的zookeeper中。

  • 相关阅读:
    如何用grunt压缩文件
    nodejs 下载,安装,测试(windows环境下)
    INNODB和MYISAM
    HashMap和HashTable
    平衡二叉树(AVL)
    二叉排序树删除
    二叉排序树的创建和遍历
    二叉排序树基础
    赫夫曼树
    堆排序
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/7814428.html
Copyright © 2011-2022 走看看