MSE提供了托管版的Nacos,在含有开源Nacos功能的基础上,增加了更强大更稳定的能力,能帮助您免去运维Nacos集群的烦恼,更加聚焦业务本身的实现,同时MSE也提供了专业版的Nacos专家支持。本文介绍如何将Spring Cloud应用从EDAS注册中心平滑迁移至MSE。

前提条件

创建Nacos引擎

说明
  • 如果您的集群只需要在VPC内访问,那么只需要开通专有网络
  • 如果您的集群需要被其他VPC访问,那么您需要开通公网网络。公网访问地址需要配置白名单,配置内容置空表示能被任意的地址访问。相关操作,请参见设置白名单
  • 对于Spring Cloud应用,该方案当前仅支持服务消费端采用Ribbon负载均衡的应用进行双订阅,采用Spring Cloud LoadBalancer负载均衡组件的消费端应用暂不支持。

背景信息

为了完整清晰地说明应用场景,本文以部署在阿里云企业级分布式应用服务EDAS上的一组应用为背景进行说明。如果您已充分了解注册中心迁移的场景,请参见迁移方案

在EDAS控制台中,部署了Provider和Consumer应用,Consumer服务通过注册中心去获取Provider服务的地址,并通过访问/consumer-echo/abc这个URL,返回服务提供者的端口号。EDAS Nacos服务调用
首先,在EDAS控制台中,部署Consumer、Provider应用。具体操作,请参见在K8s环境中通过镜像部署微服务应用EDAS部署应用
然后,配置阿里云ACK集群的服务。EDAS Nacos配置服务
说明 Consumer-SLB服务属于LoadBalancer类型,通过SLB,可以直接访问Consumer服务。

迁移方案

MSE基于Java Agent技术,您只需要接入MSE,就能享受微服务的功能,无需修改任何代码和配置。详细的迁移架构图如下。EDAS注册中心迁移方案
  1. 登录容器服务控制台
  2. 在左侧导航栏,单击集群,然后在集群列表页面,单击目标集群名称。
  3. 在集群详情页面左侧导航栏,选择工作负载 > 无状态,选择命名空间
  4. 在目标应用右侧单击编辑
  5. 编辑页面的环境变量区域,单击新增,添加以下环境变量,然后单击更新
    EDAS注册中心迁移

    新增环境变量说明如下:

    类型 变量名称 变量/变量引用
    自定义 enable_multi_nacos true
    自定义 additional_nacos_address mse-9xxxxx-p.nacos-ans.mse.aliyuncs.com:8848
    说明 该变量值为MSE Nacos的地址。
    自定义 additional_nacos_namespace e5bdc7e1-xxxx-4e2b-906d-b47b8efeee8b
    说明 该配置选填,若不配置,则使用MSE Nacos默认命名空间。
说明 在实际迁移过程中,建议在创建新应用时就开启MSE并配置好环境变量,避免出现多次重启。当前迁移方案相关实现还未在MSE中全量发布,如需使用,欢迎您使用钉钉搜索钉钉群号34754806进行咨询。

结果验证

验证服务注册结果

登录MSE Nacos控制台查看服务注册实例信息:EDAS服务注册结果

验证服务调用结果

在本文示例中,通过Consumer服务调用Provider服务,在浏览器中输入Consumer-SLB服务外部端点的服务地址,显示服务调用结果。验证服务调用结果

联系我们

当前迁移方案相关实现还未在MSE中全量发布,如需使用,欢迎您使用钉钉搜索钉钉群号34754806进行咨询。