Nacos:1.4.2 vs 2.0.3 vs 2.1.0
此时,官方推荐的版本是2.0.3。
因为搭建集群环境的时候,需要升级的操作:
-
启动后自检
集群中所有机器部署为2.0.X版本并启动时,应当进行启动之后的检查。
当集群中所有节点logs/naming-server.log日志中观察到upgrade check result true及Upgrade to 2.0.X,便判定为集群准备完毕时,此时才可以使用Nacos2.0。 -
关闭双写
为了节省性能开销,当集群部署完成后,可以先观察一段时间运行情况,当确认无误后,可以关闭双写,从而释放性能,具体的关闭方式是通过API进行:
curl -X PUT 'localhost:8848/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false'
关闭后可以从logs/naming-server.log日志中观察到Disable Double write, stop and clean v1.x cache and features字样。说明关闭双写。
注意,关闭双写后无法在进行平滑降级,请先确认关闭前集群正确运行。
所以,我直接升级成了Nacos2.1.0,然后就出现服务注册不上的问题,我首先想到了版本不兼容,对比了数据库的sql文件,发现不一样,然后替换了所有相关的数据表,这次可以了。随后又发现控制台不显示注册列表,后来想到依赖的Nacos版本还是2.0.3,在想替换成2.1.0的时候,发现Spring Cloud Alibaba框架还没有整合Nacos2.1.0版本,具体原因:
由于 Spring Boot 2.4 以上和一下版本变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。
所以我又更换成了Nacos1.4.2版本
2021.x 分支
适配 Spring Boot 2.4, Spring Cloud 2021.x 版本及以上的 Spring Cloud Alibaba 版本如下表(最新版本用*标记): (注意,该分支 Spring Cloud Alibaba 版本命名方式进行了调整, 未来将对应 Spring Cloud 版本, 前三位为 Spring Cloud 版本,最后一位为扩展版本,比如适配 Spring Cloud 2021.0.1 版本对应的 Spring Cloud Alibaba 第一个版本为:2021.0.1.0,第个二版本为:2021.0.1.1,依此类推)