注册中心同步组件为用户提供源注册中心上的微服务到目标注册中心的同步功能,并通过MSHA管控可视化地管理每个同步任务。目前支持Nacos-Nacos和ZooKeeper-ZooKeeper类型之间单向或双向同步。
步骤一:准备工作
- ECS准备。
- 您需要准备一台处于VPC网络下的ECS机器,且规格至少2 Core 4 GB。
- 由于MSHA管控面要与ECS上的8080端口交互,在同步前需要在ECS机器上安全组的规则配置中开放8080端口。
- 您需要准备一台处于VPC网络下的ECS机器,且规格至少2 Core 4 GB。
- RDS准备。
- 添加ECS机器到MSHA控制台。
- 开通注册中心同步模块。
步骤二:配置注册中心同步集群
相关操作
- 查看同步集群
- 在注册中心同步集群页面,查看已有的同步集群信息。
- 在注册中心同步集群页面,单击同步集成名称或扩缩容查看同步集群详情。
- 在注册中心同步集群页面,单击刷新刷新集群状态,单击健康检查对集群进行健康检查,检查结果如下所示:
- 在注册中心同步集群页面,查看已有的同步集群信息。
- 重试创建集群
当同步集群处于运行失败或初始化失败状态时,可以单击对应集群操作列的重试,进行重新创建操作。说明 如果创建集群时健康检查步骤失败,且重试创建无效,请检查是否存在下列问题:
- ECS服务器是否开放8080端口。
- RDS是否和ECS服务器处于同一个VPC下。
- RDS数据库地址、数据库名、账号、密码是否无误。
- RDS是否开放IP白名单。
- 同步集群扩容
为了保证服务的高可用,同步集群下可以有多个ECS实例共同同步,确保有一个不可用后,其余的能够正常提供服务。
- 在注册中心同步集群页面,选择待扩容的集群,单击扩容。
- 在ECS扩容页面,选择步骤一:准备工作中添加的实例,操作完成后单击确认。注意 扩容的ECS实例安全组必须开放8080端口。
- 在任务详情页面,等待任务安装完毕,扩容后的集群如下:
- 同步集群缩容
- 在注册中心同步集群页面,选择待卸载的实例,单击卸载。
- 在确认卸载该同步集群对话框,单击确认。
- 在任务详情页面,等待任务卸载完毕,操作完成后单击关闭。说明 如果卸载的实例是该同步集群下的最后一个实例,则会检查是否还有同步任务使用该集群,存在同步任务时无法卸载。如果卸载最后一个实例成功,则所在的同步集群也会被卸载。
- 在注册中心同步集群页面,选择待卸载的实例,单击卸载。
- 卸载同步集群
在注册中心同步集群页面,单击卸载集群,将同步集群卸载。说明 如果存在同步任务时,无法卸载。
步骤三:配置注册中心信息
在建立微服务同步任务之前,需要配置注册中心信息。目前注册中心同步支持Nacos到Nacos和ZooKeeper到ZooKeeper注册中心之间的同步。
相关操作
在注册中心新增完成后,在注册中心列表页面:
- 查看已添加的所有注册中心信息,可以通过集群名称、集群地址和集群类型中的一项或多项搜索到已有的注册中心信息。
- 单击目标注册中心操作列的删除,删除已创建的注册中心信息。
说明 若目标注册中心下存在同步任务时,则无法删除。
步骤四:配置注册中心同步任务
- 登录多活容灾MSHA控制台。
- 在左侧导航栏的异地双活或异地应用双活下,选择注册中心同步配置。
- 在注册中心同步配置页面,单击新增同步任务。
- 新增Nacos-Nacos同步任务
- 在新增同步任务页面,填写同步任务相关配置信息:
参数 说明 同步集群 选择已新建的同步集群。具体操作,请参见步骤二:配置注册中心同步集群。 源注册中心 根据需要,选择已新建的注册中心作为源注册中心。具体操作,请参见步骤三:配置注册中心信息。 目标注册中心 根据需要,选择已新建的注册中心作为目标注册中心。具体操作,请参见步骤三:配置注册中心信息。 命名空间 - 输入Nacos的命名空间ID。具体操作,请参见管理命名空间。
- 如果不填默认为public。
注意 Nacos同步时源和目标注册中心命名空间ID需要保持一致,Nacos1.2以上版本支持自定义命名空间ID。分组名 - 填写Nacos分组名。
- 如果不填默认为DEFAULT_GROUP。
服务名 - 输入的服务名需要与实际注册中心查询到的服务名保持一致。
- 支持批量输入需要同步的服务名,用半角逗号(,)分隔不同的服务名。
说明 当Nacos为源注册中心时,支持展示该注册中心中指定命名空间和分组名下的所有服务名。您也可以单击选择服务名,在选择服务名称页面选择一条或多条服务进行录入。 - 操作完成后,单击确定。
- 在新增同步任务页面,填写同步任务相关配置信息:
- 新增ZooKeeper-ZooKeeper同步任务
说明 目前ZooKeeper间同步仅支持Dubbo服务。
- 在新增同步任务页面,填写同步任务相关配置信息:
参数 说明 同步集群 选择已新建的同步集群。具体操作,请参见步骤二:配置注册中心同步集群。 源注册中心 根据需要,选择已新建的注册中心作为源注册中心。具体操作,请参见步骤三:配置注册中心信息。 目标注册中心 根据需要,选择已新建的注册中心作为目标注册中心。具体操作,请参见步骤三:配置注册中心信息。 分组名 填写ZooKeeper分组名。 说明 分组名对应Dubbo服务的Group,不填分组名表示不做Group上的限制。版本 输入ZooKeeper版本信息。 说明 版本对应Dubbo服务的Version,不填版本表示不做Version上的限制。服务名 - 输入的服务名需要与实际注册中心查询到的服务名保持一致。
- 支持批量输入需要同步的服务名,用半角逗号(,)分隔不同的服务名。
- ZooKeeper-ZooKeeper同步任务支持全量同步,服务名输入“*”会同步对应 Group和Version下的所有服务。
说明 目前暂不支持展示ZooKeeper源注册中心中所有服务名的功能。
- 操作完成后,单击确认。
- 在新增同步任务页面,填写同步任务相关配置信息:
- 批量创建
- 当一次录入多个服务后,MSHA控制台会异步执行这些任务,此时任务的运行状态为同步任务创建中。
- 当同步任务状态为同步中时,说明该服务已经从源注册中心同步到目标注册中心。
- 当一次录入多个服务后,MSHA控制台会异步执行这些任务,此时任务的运行状态为同步任务创建中。
- 新增Nacos-Nacos同步任务
相关操作
注册中心同步配置完成后,在注册中心同步配置页面:
- 暂停同步任务:选择运行状态为运行中的同步配置任务,单击暂停,暂停后微服务同步结束,该服务会在目标注册中心下线。当同步任务状态为已暂停时,说明该同步任务已停止。
说明 暂停和删除都可以终止当前的服务同步,效果上一致,但删除会清除MSHA控制台和RDS中的任务信息。为了避免重复输入任务,非必要时尽量使用暂停功能。
- 恢复同步任务:选择运行状态为已暂停的同步配置任务,单击重新同步,运行状态变为同步中,重新将该服务已经从源注册中心同步到目标注册中心。
- 删除同步任务:选择待删除的同步配置任务信息,单击删除,在确定删除该同步任务对话框中,单击确定。删除后微服务同步结束,且该任务从页面中消失。
注意 批量删除同步任务可能会发生某些任务没有停止同步的情况,如果您想安全地批量删除任务,请先执行批量暂停操作,之后再批量删除这些已暂停的同步任务。
- 重试同步任务:选择运行状态为创建任务失败或创建超时的同步配置任务,单击重试,重新创建任务。如果多次重试仍然不成功,请检查ECS服务器健康检查是否通过。
- 批量操作:通过勾选同步任务,您可批量进行暂停、重新同步和删除操作。批量操作异步执行任务,需要等待一段时间完成所有操作。