MSE提供托管版Nacos引擎,包含比开源Nacos更强大和稳定的功能,能帮助您免去运维Nacos集群的烦恼,更加聚焦业务本身的实现,同时MSE也提供专业版的Nacos专家支持。本文介绍如何将Spring
Cloud应用从开源Nacos无缝迁移至MSE。
目录
前提条件
创建Nacos引擎
说明
- 如果您的集群只需要在VPC内访问,那么只需要开通专有网络。
- 如果您的集群需要被其他VPC访问,那么您需要开通公网网络。公网访问地址需要配置白名单,配置内容置空表示能被任意的地址访问。相关操作,请参见设置白名单。
- 对于Spring Cloud应用,该方案当前仅支持服务消费端采用Ribbon负载均衡的应用进行双订阅,采用Spring Cloud LoadBalancer负载均衡组件的消费端应用暂不支持。
背景信息
说明 为了更好地说明完整的场景,以部署在阿里云ACK集群上的一组应用为背景信息进行说明。如果您已充分了解注册中心迁移的场景,请参见迁移方案。
最开始的业务形态
假设在ACK集群中,部署了Provider应用和Consumer应用,通过注册中心去获取Provider服务的地址,并通过访问/user/rest这个URL,返回服务提供者的端口号。
首先,在阿里云ACK集群中,部署Consumer、Provider和Nacos Server应用。具体操作,请参见创建无状态工作负载Deployment。
然后,配置阿里云ACK集群的服务。
- Consumer服务属于LoadBalancer类型,通过SLB,可以直接访问Consumer服务。
- Nacos服务属于LoadBalancer类型,通过SLB,可以访问开源Nacos控制台。
- Nacos Server服务属于NodePort类型,配置好后,Consumer应用和Provider应用可以通过
http://nacos-server:8848/
访问Nacos Server服务。
最后,验证服务调用成功,并登录开源Nacos控制台可查看服务注册详情。
模拟迁移过程
部署一个Consumer-new应用,注册到MSE上的Nacos,Consumer-new应用与Consumer应用使用了两个不同的标签。事实上,Consumer-new应用除了将开源Nacos的地址修改为MSE
Nacos地址外,没有任何其他修改。
同样,在阿里云ACK集群中配置一个负载均衡服务访问Consumer-new应用。
遇到的问题
Consumer-new应用无法调用Provider服务,MSE Nacos可以查询到Consumer-new应用节点,但开源Nacos上查询不到,原因是在开源Nacos并没有注册。
在实际业务中,如果新应用无法访问原有注册中心的应用,就无法顺利地完成注册中心的迁移,特别是应用规模比较大,调用链路比较复杂的时候,这个问题就更加明显,所以要先将应用迁移至MSE。
发表回复