Zookeeper

    在此查看完整示例代码

    将自动为应用增加 Zookeeper 相关客户端的依赖,减少用户使用 Zookeeper 成本,如使用中遇到版本兼容问题,用户也可以不使用 dubbo-dependencies-zookeeper,而是自行添加 Curator、Zookeeper Client 等依赖。

    由于 Dubbo 使用 Curator 作为与 Zookeeper Server 交互的编程客户端,因此,要特别注意 Zookeeper Server 与 Dubbo 版本依赖的兼容性

    2.2 配置并启用 Zookeeper

    1. # application.yml
    2. dubbo
    3. registry
    4. address: zookeeper://localhost:2181

    1. <dubbo:registry address="zookeeper://localhost:2181" />

    protocol 与 address 分开配置的模式也可以,如

    <dubbo:registry protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />

    如果 Zookeeper 开启认证,Dubbo 支持指定 username、password 的方式传入身份标识。

    也可以直接将参数扩展在 address 上 address=zookeeper://hello:1234@localhost:2181

    3.2 分组隔离

    1. # application.yml
    2. dubbo
    3. registry
    4. group: daily1

    配置连接、会话过期时间

    Zookeeper 注册中心还支持其他一些控制参数,具体可参见

    4.1 Dubbo2 节点结构

    流程:

    • 服务提供者启动时: 向 目录下写入自己的 URL 地址。
    • 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
    • 监控中心启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址。

    支持以下功能:

    • 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
    • 当注册中心重启时,能自动恢复注册数据,以及订阅请求
    • 当会话过期时,能自动恢复注册数据,以及订阅请求
    • 当设置 <dubbo:registry check="false" /> 时,记录失败注册和订阅请求,后台定时重试
    • 可通过 <dubbo:registry username="admin" password="1234" /> 设置 zookeeper 登录信息
    • 可通过 <dubbo:registry group="dubbo" /> 设置 zookeeper 的根节点,不配置将使用默认的根节点。