开发者社区 问答 正文

多注册中心兼容怎么进行?


多注册指 Dubbo/HSF 应用可以同时注册服务到 EDAS、ZooKeeper 注册中心,为其他消费者提供服务。
多订阅指 Dubbo/HSF 应用去消费一个服务时,可以同时订阅 EDAS、ZooKeeper 注册中心中的服务。
使用方式


  1. 在当前应用中加入不低于1.5.1的 edas-sdk 依赖。[backcolor=transparent]<dependency>
  2. [backcolor=transparent] [backcolor=transparent]<groupId>[backcolor=transparent]com.alibaba.edas[backcolor=transparent]</groupId>
  3. [backcolor=transparent] [backcolor=transparent]<artifactId>[backcolor=transparent]edas-sdk[backcolor=transparent]</artifactId>
  4. [backcolor=transparent] [backcolor=transparent]<version>[backcolor=transparent]1.5.1[backcolor=transparent]</version>
  5. [backcolor=transparent]</dependency>

指定 ZooKeeper 注册/订阅中心地址。指定方式主要包含以下两种:

  • 环境变量指定(支持 HSF 、Dubbo 应用):
    -Dhsf.registry.address=zookeeper://IP地址:端口

  • XML 指定方式(只支持 HSF 应用):
    <hsf:registry address="zookeeper://IP地址:端口" />

指定 ZooKeeper 地址后 Dubbo 应用默认会启动双注册和订阅。HSF 应用若需要启用双注册/订阅,还需要设置调用参数 invokeType 。
  • 只注册/订阅 ConfigServer 中的服务:invokeType="hsf"
  • 只注册/订阅 ZooKeeper 中的服务: invokeType="dubbo"
  • 双订阅/注册: invokeType="hsf,dubbo"

创建应用时,需要选择不低于3.0版本的容器,然后上传启动即可。

展开
收起
猫饭先生 2017-10-26 10:55:25 1748 分享 版权
阿里云 AI 助理回答

多注册与多订阅功能说明及使用方式

在微服务架构中,实现多注册与多订阅功能可以增强服务的可用性和灵活性。以下是如何在Dubbo/HSF应用中配置以同时注册和订阅来自EDAS和ZooKeeper注册中心的服务。

多注册与多订阅概念

  • 多注册:允许Dubbo/HSF应用将服务实例信息同时注册到EDAS内置的注册中心以及外部的ZooKeeper注册中心,从而提高服务发现的可靠性和容错能力。
  • 多订阅:当Dubbo/HSF应用作为消费者时,能够同时从EDAS注册中心和ZooKeeper中订阅服务提供者的信息,确保即使某一个注册中心不可用,也能正常发现并调用服务。

使用步骤与配置

  1. 依赖添加

    • 确保应用中包含了版本不低于1.5.1的edas-sdk依赖,以支持多注册与多订阅功能。
    <dependency>
       <groupId>com.alibaba.edas</groupId>
       <artifactId>edas-sdk</artifactId>
       <version>1.5.1</version>
    </dependency>
    
  2. 指定ZooKeeper地址

    • 环境变量指定(适用于HSF、Dubbo应用): 在启动应用时,通过JVM参数-Dhsf.registry.address或-Ddubbo.registry.address设置ZooKeeper地址。
      -Dhsf.registry.address=zookeeper://IP地址:端口
      或
      -Ddubbo.registry.address=zookeeper://IP地址:端口
      
    • XML指定(仅适用于HSF应用): 在HSF应用的配置文件中指定ZooKeeper地址。
  3. 启用双注册与订阅(HSF应用特有)

    • 对于HSF应用,需要在调用参数中设置invokeType来控制注册与订阅的行为:
      • 只注册/订阅ConfigServer中的服务:invokeType="hsf"
      • 只注册/订阅ZooKeeper中的服务:invokeType="dubbo"
      • 双注册/订阅:invokeType="hsf,dubbo"
  4. 容器版本要求

    • 创建或更新应用时,选择的容器版本需不低于3.0,以兼容上述高级特性。上传应用并配置好相关启动参数后,即可实现多注册与多订阅的功能。

通过以上步骤,您的Dubbo或HSF应用就能实现在EDAS和ZooKeeper之间进行多注册与多订阅,提升服务的高可用性和灵活性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答