配置Nacos作为规则下发通道

MSHA控制台通过使用Nacos作为管控指令下发通道,将容灾相关规则指令下发到MSHA SDKMSHA Agent。

开通MSE托管版Nacos

  1. 登录MSE控制台

  2. 创建Nacos引擎。具体操作,请参见开通Nacos引擎注册中心

    说明
    • 产品版本推荐选择专业版

    • 网络类型推荐选择专有网络

    • 注册中心自动创建大概需要3~5分钟。

  3. 创建完成后,在左侧导航栏选择注册配置中心 > 实例列表

  4. 实例列表页面,选择已注册的Nacos实例。

  5. 进入Nacos实例基础信息页面,在左侧导航栏选择命名空间页面.。

  6. 命名空间页面,单击创建命名空间

  7. 创建命名空间页面,显示所属地域,输入命名空间,操作完成后单击保存

    创建完成后,在命名空间页面,可以看到命名空间ID。

MSHA控制台绑定Nacos

  1. 登录MSHA多活容灾控制台

  2. 在左侧导航栏选择基础配置 > 命名空间

  3. 命名空间页面,选择切换到业务使用的命名空间后,单击继续配置

  4. 编辑命名空间页面下方,为每个单元添加管控命令通道,添加时选择类型为Nacos,完成后单击保存草稿

    说明
    • 在控制台填写的nacos端口号默认是9848。

    • 连接地址

      • 公网和VPC网络都需包含IP加端口号,例如:IP:9848;

      • 如果使用mse产品,使用VPC网络时,可以直接输入对应实例ID, 例如:mse-cn-7mzxxxxxx;

    • Nacos空间ID:MSHA配置信息存储的空间,需要在目标Nacos中申请。

    • 保存草稿后不会立即生效,如需生效还需进行生效操作。

  5. 在左侧导航栏选择基础配置 > 命名空间,单击右上角生效,则会将命名空间配置的相关容灾单元配置、流量规则等推送到MSFE和管控命令通道,从而将规则下发给MSHA SDK、MSHA Agent或云原生网关。生效

Java应用配置Nacos连接信息

一方面,MSHA控制台会将容灾规则下发到Nacos。另一方面,应用启动时MSHA SDKMSHA Agent需要和Nacos建立TCP长连接,以便控制台变更规则后,MSHA SDKMSHA Agent能够监听到更新后的规则内容。因此Java应用接入MSHA SDKMSHA Agent时,还需要在JVM参数中,添加Nacos连接地址和命名空间ID:

-Dmsha.nacos.namespace=${Nacos命名空间ID}
-Dmsha.nacos.server.addr=${Nacos服务器访问地址}
  • 查看命名空间ID,可以进入Nacos实例的命名空间页面。1

  • Nacos服务器访问地址格式为${内网地址:内网端口},例如:mse-c5efe870-nacos-ans.mse.aliyuncs.com:88481