欢迎光临
我们一直在努力

Nacos从1.4.8升级到2.4.3

介绍

随着目前网络安全方面越来越重视,老项目框架也需要与时俱进,提升一下版本。

当前项目采用的是Spring Cloud Alibaba 的技术栈,使用Nacos作为注册中心和配置中心。

Spring Boot 2.7.X 系列是JDK1.8系列维护的最后一个版本。

下面这些版本是分水岭,强行升级可能存在兼容问题,所以单独拎出来。

  • Spring Boot 2.3.X
  • Spring Boot 2.4.X 到 Spring Boot 2.6.X
  • Spring Boot 2.7.X

考虑到项目的兼容性以及安全问题,故只将项目提升到 Spring Boot 2.3.X 版本,如果还需要升级,后续再进行规划。

性能差异

升级阶段服务端版本客户端版本通信方式性能与稳定性表现
阶段一:全1.X架构1.X1.XHTTP短连接 + UDP推送性能瓶颈:在较高压力下(如14,000个服务实例),CPU可达100%,实例列表大幅抖动,服务不稳定。
阶段二:仅升级服务端2.X1.XHTTP短连接(兼容)性能部分提升:服务端架构优化带来一定改善,但在高压力下(如14,000实例)CPU仍近100%,可能出现少量实例抖动。
阶段三:完全升级2.X2.XgRPC长连接性能最佳:同等压力下(如14,000实例),CPU使用率可降至20% 左右,系统稳定。连接容量提升7倍以上,配置读取QPS提升75%

历代版本

版本号核心区别与已知重要更新
1.4.8属于 1.x 系列,采用 HTTP 短轮询 通信模型。作为该系列的末期版本,稳定但性能和实时性有瓶颈。
2.1.x属于 2.x 系列,核心是引入了 GRPC 长连接 通信模型,实现了服务端推送,性能大幅提升。此系列版本在功能、可用性和可运维性上相比开源版本有所增强。
2.2.x在 2.x 架构基础上持续优化。例如,2.2.3 版本默认关闭了开源控制台,并支持查看风险客户端版本。
2.3.x继续在 2.x 架构上迭代。例如,2.3.2 版本支持了命名空间配额的动态修改,并修复了多个关于连接数和服务实例移除的潜在问题。
2.4.x官方文档提及,从 2.1.x ~ 2.4.x 升级到 2.5.x 时,数据库表结构有变化。这表明 2.4.x 仍基于 2.x 的核心架构。
2.5.x在 2.x 架构基础上,对配置灰度功能进行了重构和优化,这会导致表结构变化,并在首次启动时可能对存量数据进行升级。

版本选择

当前项目当前版本升级版本
Spring Boot2.1.32.3.12
Spring CloudGreenwich.RELEASEHoxton.SR12
Spring Cloud Alibaba2.1.02.2.11
Naocs1.4.82.4.3
JDK1.81.8

当前版本因为用户基数大,也是长期维护的版本,对于老项目来说比较友好。

nacos 部署

官方下载地址

https://nacos.io/download/release-history/?spm=5238cd80.6a33be36.0.0.c2121e5dXfKJdn

cd /data/nacos-server-2.4.3/nacos

vi ./conf/application.properties

# 启动端口
server.port=18848

# 开启认证
nacos.core.auth.enabled=true

# 配置加密信息
nacos.core.auth.server.identity.key=YmFveGluaWFvMTIz
nacos.core.auth.server.identity.value=YmFveGluaWFvMTIzNDU2
nacos.core.auth.plugin.nacos.token.secret.key=YmFveGluaWFvMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5

# 启动服务:单机模式
./bin/startup.cmd -m standalone

用户权限配置

新增用户:nacos_dev、nacos_stage、nacos_prod

新增命名空间:DEV、STAGE、PROD

新增角色:ROLE_DEV、ROLE_STAGE、ROLE_PROD

环境:开发、预发布、发布

插件依赖对比

版本依赖调整前

<spring-boot.vsersion>2.1.3.RELEASE</spring-boot.vsersion>
<spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
<spring-cloud.version>Greenwich</spring-cloud.version>

版本依赖调整后

<spring-boot.vsersion>2.3.12.RELEASE</spring-boot.vsersion>
<spring-cloud-alibaba.version>2.2.11</spring-cloud-alibaba.version>
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>

配置文件

server:
  port: 8013

# Spring
spring:
  application:
    # 应用名称
    name: cloud-consumer-test
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.33.88:18848
        # 用户名
        username: test
        # 密码
        password: w-:3cfdffz^r
        # 命名空间
        namespace: 305a4b47-077c-49ab-b1b0-56e3c6bad826
      config:
        # 配置中心地址
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        # 用户名
        username: ${spring.cloud.nacos.discovery.username}
        # 密码
        password: ${spring.cloud.nacos.discovery.password}
        # 配置文件格式
        file-extension: yml
  main:
    allow-bean-definition-overriding: true

赞(1) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Nacos从1.4.8升级到2.4.3》
文章链接:https://www.xiamine.com/archives/67.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

相关推荐

  • 暂无文章

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册