通过Nacos权重配置,实现微服务金丝雀发布效果(不停机部署)

在微服务项目迭代的过程中,不可避免需要上线;上线对应着部署,或者升级部署;部署对应着修改,修改则意味着风险。

传统的部署都需要先停止旧系统,然后部署新系统,之后需要对新系统进行全面的功能测试,如果新系统存在bug,则需要重新回退到旧系统,整个升级过程中,用户是无法正常使用系统的,用户体验不好。

下面利用nacos的特性,对相同服务的不同实例访问权重进行在线配置,动态调整流量,实现新旧服务的同时在线,平滑升级系统,或者回退系统。

重点:在nacos的配置文件application.properties中开启对负载均衡的支持。加入下面配置:

java 复制代码
#开启nacos的负载均衡策略
spring.cloud.loadbalancer.nacos.enabled=true

配置完成后,nacos必须重启;

点击"登录"按钮;

至此,通过nacos控制集群内不同实例的访问流量已经配置生效,生产环境中,可以先放入少量新版本的流量,观察没有错误(包括日志记录)后,再逐步提升新版本流量,最后旧版本服务实例集群下线,新版本集群根据实际负载策略,配置nacos中的权重即可,做到了不停机系统升级。

相关推荐
喵叔哟1 分钟前
18.核心服务实现(下)
数据库·后端·微服务·架构
没有bug.的程序员5 分钟前
Service Mesh 下的流量治理:灰度、熔断、限流的深度实践与代价剖析
网络·云原生·限流·熔断·灰度发布·流量治理·servicemesh
Cyber4K34 分钟前
【Kubernetes专项】Docker 容器部署及基本用法
运维·docker·云原生·容器
indexsunny36 分钟前
互联网大厂Java求职面试实战:微服务与Spring Boot在电商场景中的应用
java·数据库·spring boot·微服务·kafka·hibernate·电商
techzhi39 分钟前
Docker 多架构镜像构建方案实施指南
docker·架构
云雾J视界1 小时前
从Boost的设计哲学到工业实践:解锁下一代AI中间件架构的密码
c++·人工智能·中间件·架构·stackoverflow·boost
wangbing11251 小时前
平台介绍-开放API后台微服务
数据库·微服务·架构
jasnet_u1 小时前
SpringBoot3.x+SpringCloudAlibaba2023+JDK17微服务基础框架搭建
微服务·云原生·架构
alonewolf_991 小时前
MySQL 架构与SQL执行全流程深度解析
sql·mysql·架构
一条咸鱼_SaltyFish2 小时前
[Day16] Bug 排查记录:若依框架二次开发中的经验与教训 contract-security-ruoyi
java·开发语言·经验分享·微服务·架构·bug·开源软件