Nacos1.x升级到2.x版本需要注意什么?

Nacos1.x升级到2.x版本需要注意什么?

展开
收起
真的很搞笑 2024-04-10 09:21:33 98 分享 版权
阿里云 AI 助理回答

Nacos 1.x 升级到 2.x 版本需要注意的事项

在将 Nacos 从 1.x 版本升级到 2.x 版本时,需要特别注意以下关键点,以确保升级过程顺利且对业务的影响最小化。


1. 升级前的准备工作

  • 版本兼容性检查
    确保当前使用的 Nacos 引擎版本为 1.2.1.0 及以上。如果当前版本为 1.1.3.x,则需要先升级至 1.2.1 版本。

  • 规格评估
    在升级过程中,MSE Nacos 会对注册的服务数据进行双写操作,因此需要确保集群的提供者实例数低于对应规格的基础版最大实例数,避免双写对业务造成影响。

  • 客户端版本兼容性

    • 配置中心兼容并支持 Nacos Client 1.0.0 之后的所有客户端版本。
    • 服务发现兼容 Nacos Client 1.2.0 之后的所有客户端版本。
    • 建议使用 Nacos Client 2.0.0 及以上版本,因为 1.x.x 客户端不具有长连接能力,可能导致性能问题。
  • Spring Cloud Alibaba 或 Dubbo 的适配
    如果您的应用使用了 Spring Cloud Alibaba 或 Dubbo,需要通过指定 Nacos Client 的方式升级客户端版本。例如,在 Spring Cloud Alibaba 中,可以通过排除旧版本依赖并引入新版本依赖完成升级。


2. 升级路径与操作步骤

  • 升级路径
    目前仅支持 Nacos 引擎 1.2.1.0 及以上版本从基础版升级至专业版或开发版。如果当前版本为 1.1.3.x,则需先升级至 1.2.1 版本,再进行后续升级。

  • 具体操作步骤

    1. 登录 MSE 注册配置中心管理控制台,并选择目标地域。
    2. 在左侧导航栏中,选择 注册配置中心 > 实例列表
    3. 找到目标实例,选择以下三种方式进行升级:
      • 方式一:在 实例列表 页面,单击目标实例 产品版本 列下方的 手动升级
      • 方式二:在 实例列表 页面,单击待升级实例 操作 列下的图标,选择 升级引擎版本
      • 方式三:进入目标实例的 基础信息 页面,单击 引擎版本 右侧的 手动升级
    4. 集群升级 对话框中,确认升级信息后单击 确定

3. 升级期间的影响

  • 升级持续时间
    升级过程通常持续约 10 分钟,期间无法在控制台对该实例进行任何操作。建议在业务低峰期进行升级,以减少对业务的影响。

  • 高可用性保障

    • 节点数量为 3 节点及以上 的实例会进行滚动发布,并自动完成数据同步,保证升级无损。
    • 节点数量为 1 节点和 2 节点的实例属于非高可用实例,升级无法做到无损
  • 网络重连与监控波动

    • 升级过程中可能会导致网络重连,产生重连日志。
    • 监控数据可能因集群重启出现短暂波动。

4. 升级后的注意事项

  • 客户端连接问题排查

    • 报错:Connection is unregisteredClient not connected, current status: STARTING
      原因可能是客户端 gRPC 无法与服务端建立连接。建议按照以下步骤排查:
    • 使用 telnet ${nacos.server.address}:9848 测试网络是否畅通。
    • 检查应用所在网络是否与 MSE 网络处于同一个 VPC 下。
    • 如果使用公网网络,请设置公网白名单。

    • 报错:Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.
      原因是 MSE 专业版正在进行旧版本数据和新版本数据的同步双写和校验。此过程一般持续 5~20 分钟,建议等待一段时间后重试。

  • 客户端端口配置
    客户端无需修改应用设置的端口配置,仍然配置为 8848。Nacos Client 会自动计算 gRPC 端口。


5. 安全性与鉴权

  • 默认 token.secret.key 风险
    如果您自行搭建的 Nacos 集群使用了默认的 token.secret.key,可能存在权限绕过风险。建议:

    1. 确认是否开放了公网白名单,若未设置,请设置公网白名单。
    2. 将基础版 1.1.3 版本升级至 1.2.1 及以上版本。
    3. 开启鉴权功能,使用阿里云 RAM 进行权限认证。
  • MSE Nacos 引擎的安全性

    • MSE Nacos 引擎基础版 1.1.3 版本(已停止维护):无鉴权能力且不涉及此漏洞。
    • MSE Nacos 引擎基础版 1.2.1 版本及专业版:默认创建集群不开启鉴权能力,开启鉴权后使用阿里云 RAM 进行权限认证,不涉及此漏洞。

6. 功能优化与改进

  • Nacos 2.x 的核心优化

    • 支持 gRPC 长连接方案,避免了 1.x 版本中长轮询机制可能触发的慢调用告警。
    • 在架构、性能、稳定性和功能方面进行了显著改进。
  • MSE 优化版本的功能增强

    • 支持推空保护能力,提升高可用性。
    • 优化配置监听长轮询能力,性能提升约 100%。
    • 支持注册中心地址 gzip 压缩推送能力,提升传输效率。

7. 其他重要提醒

  • 升级到专业版 Nacos 2.0.0 后的兼容性

    • 配置中心兼容并支持 Nacos Client 1.0.0 之后的所有客户端版本。
    • 服务发现兼容 Nacos Client 1.2.0 之后的所有客户端版本。
    • 强烈建议使用 Nacos Client 2.0.0 及以上版本,以充分利用新特性并避免潜在问题。
  • 升级常见问题
    如果在升级过程中遇到问题,请参考官方文档中的 升级常见问题 部分,获取详细解决方案。


通过以上步骤和注意事项,您可以顺利完成 Nacos 1.x 到 2.x 的升级,并确保升级过程对业务的影响最小化。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答