MSE注册配置中心普通实例分为专业版和开发版(基础版已停止售卖及功能更新),同时MSE Nacos有自身的引擎版本。本文介绍如何在MSE控制台上升级注册配置中心实例版本和Nacos引擎版本。
升级背景
为了提供更优质的服务,简化MSE注册配置中心版本选型,MSE注册配置中心将于北京时间2025年03月03日12点整,停止基础版的服务并释放实例资源。届时您将无法通过控制台或应用端访问停机实例。在2025年03月03日12点之前,基础版实例的相关支持和工单服务仍正常提供。详细通知请参见MSE注册配置中心基础版下线公告。
升级前的准备工作
规格评估:为了保证数据一致性及升级过程的稳定性,MSE Nacos会在升级过程中对注册的服务数据进行双写,因此升级前请确保集群的提供者实例数低于对应规格的基础版最大实例数,避免升级时的双写对业务造成影响。相关内容,请参见普通实例能力评估。
引擎版本检查:目前仅支持Nacos引擎1.2.1.0及以上版本升级至专业版或开发版,若您目前使用的是1.1.3.x版本,则需要先升级至1.2.1版本,然后进行实例版本升级。具体操作,请参见升级Nacos引擎版本。
引擎版本兼容性说明:MSE Nacos引擎不同版本的功能特性,请参见Nacos引擎版本。为了您系统的稳定性,建议您避免使用Nacos SDK限制使用版本,限制使用的原因及解决方案请参见Nacos SDK限制使用版本。
Eureka引擎:Eureka引擎的MSE托管商品已下线。MSE Nacos支持Eureka协议,能够兼容Eureka客户端,建议您将 Eureka基础版实例迁移到MSE Nacos专业版或开发版实例。
升级影响说明
升级持续时间约为10分钟,期间无法在控制台对该实例进行任何操作。建议在业务低峰期时进行升级,避免对业务造成影响。
节点数量为3节点及以上的实例,各个节点会进行滚动发布,并自动完成数据同步,保证升级无损。
节点数量为1节点和2节点的实例属于非高可用实例,升级无法做到无损。
对业务运行来说,升级是无损的,但因升级导致的网络重连,会产生重连的日志,监控数据会因为重启集群产生短暂波动。
Eureka引擎升级Nacos专业版或开发版时:
无需修改应用代码。
升级期间导致网络重连,可能存在极小部分注册实例心跳续约失败,Eureka客户端会在下次续约时自动重试注册,连接到正常服务端节点后会自动恢复。
Eureka基础版默认迁移升级到的Nacos开发版/专业版的服务引擎版本是2.1.2.2,后续可参考Nacos引擎版本升级,将Nacos开发版/专业版升级到最新版本。
升级路径
目前仅支持Nacos引擎1.2.1.0及以上版本从基础版升级至专业版或开发版,若您目前使用的是1.1.3.x版本,则需要先升级至1.2.1版本。具体操作,请参见Nacos引擎版本升级。
Nacos引擎版本升级
目前Nacos 1.1.3版本已经下线,不再单独维护。为避免造成使用上的问题,请尽快将引擎版本升级至1.2.1及以上版本。
登录MSE注册配置中心管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择注册配置中心 > 实例列表。
控制台上支持三种方式进行升级操作:
如果目标实例类型已经是最新版本,将不会出现手动升级字样。
方式一:在实例列表页面,单击目标实例产品版本列下方的手动升级。
方式二:在实例列表页面,单击待升级的Nacos实例操作列下的
图标,选择升级引擎版本。
方式三:在实例列表中单击需要升级的实例,在基础信息页面,单击引擎版本右侧的手动升级。
在集群升级对话框,单击确定。
Nacos/Eureka基础版升级为专业版或开发版
登录MSE注册配置中心管理控制台,并在顶部菜单栏选择地域。
在实例列表页面,单击目标MSE实例操作列下方的更多。
对于付费方式为包年包月的实例,根据需要选择升配或降配。
对于付费方式为按量付费的实例,选择升配降配。
如果目标实例类型已经是最新版本,可单击操作列下方的升配,进入变配页面对实例进行扩缩容。
在变配页面,根据需要选择产品版本:
对于单节点实例:选择开发版;
对于多节点实例:选择专业版。
在变更产品版本时,有如下限制:
基础版实例可升级为开发版和专业版。
开发版实例只可升级为开发版,不可升级为专业版。
专业版实例只可升级为专业版,不可降级为开发版。
确认引擎规格和集群节点数,以及页面右下角的金额无误后,单击立即购买。
升级常见问题
客户端版本相关
升级到专业版Nacos 2.0.0后,能否支持旧版本客户端?
答:配置中心兼容并支持Nacos Client 1.0.0之后的所有客户端版本,服务发现兼容Nacos Client 1.2.0之后的所有客户端版本。 但Nacos Client 1.x.x的客户端版本不具有长连接能力,因此建议使用Nacos Client 2.0.0之后的客户端版本。
我使用的是Spring Cloud Alibaba或Dubbo,如何升级客户端?
对于Spring Cloud Alibaba,可通过指定Nacos Client的方式,升级Nacos Client版本。例如:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>
对于Dubbo,也可以通过指定Nacos Client的方式升级Nacos Client版本。例如:
Dubbo 2.7.8版本存在比较严重的问题,会导致创建非常多Nacos Client实例,从而导致连接数、线程数暴涨,请在升级Nacos Client前,务必先升级Dubbo的版本。相关内容,请参见问题详情。
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>${dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>
版本升级后报错
报错:Connection is unregistered
或Client not connected,current status:STARTING
现象:MSE升级到专业版,应用升级客户端后,出现启动报错:
Connection is unregistered
或Client not connected,current status:STARTING
。原因:客户端gRPC无法和服务端创建连接,请参考以下步骤进行排查:
使用
telnet ${nacos.server.address}:9848
测试,查看网络是否畅通。检查应用所在网络是否与MSE网络处于同一个VPC下。
如果使用的是公网网络,请先设置公网白名单,具体操作,请参见设置白名单。
另外,客户端不需要修改应用设置的端口配置,仍然配置为8848,Nacos Client会自动为您计算gRPC端口。
报错:Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.
现象:MSE升级到专业版,应用升级客户端后,出现启动报错:
"Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.”
。原因分析:MSE专业版正在进行旧版本数据和新版本数据的同步双写和校验,以确保升级切换后数据一致。因此会在校验完成前暂时拒绝Nacos Client 2.0.0版本客户端发来的请求,此时Nacos Client 1.x.x版本的客户端请求和控制台请求不会受到影响。待数据同步和校验完成,MSE专业版会自动切换;同步双写和校验过程依据实例规模大小会有所不同,一般持续5~20分钟。
建议:如果出现该问题,请等待一段时间后重试。
- 本页导读 (1)
- 升级背景
- 升级前的准备工作
- 升级影响说明
- 升级路径
- Nacos引擎版本升级
- Nacos/Eureka基础版升级为专业版或开发版
- 升级常见问题
- 客户端版本相关
- 版本升级后报错