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

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

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

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

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

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

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

点击"登录"按钮;

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

相关推荐
三口吃掉你15 分钟前
微服务之网关(Spring Cloud Gateway)
java·网关·微服务·gateway
Aomnitrix1 小时前
我的容器管理革命:从命令行地狱到可视化操控的蜕变
云原生·eureka
三口吃掉你1 小时前
微服务之OpenFeign、hystrix熔断降级、loadbalancer负载均衡
hystrix·微服务·负载均衡·openfeign
wei_shuo1 小时前
从云原生部署到智能时序分析:基于 Kubernetes 的 Apache IoTDB 集群实战与 TimechoDB 国产化增强特性深度解析
云原生·kubernetes·iotdb
坚果的博客1 小时前
技术解析:鸿蒙 PC 为什么采用 aarch64 架构?
华为·架构·harmonyos
做运维的阿瑞1 小时前
Kubernetes 原生滚动更新(Rolling Update)完整实践指南
云原生·容器·kubernetes
小坏讲微服务9 小时前
Docker-compose 搭建Maven私服部署
java·spring boot·后端·docker·微服务·容器·maven
数字化顾问11 小时前
(125页PPT)IBM流程架构方法论及案例(附下载方式)
架构
●VON12 小时前
深入昇腾NPU:从架构到算子开发的全栈探索
架构·昇腾·昇腾npu·gpt-oss-20b·昇腾训练营
奥尔特星云大使12 小时前
《系统规划与管理师教程(第2版)》方法篇 第10章 云原生系统规划 知识点总结
云原生·软考·高级·系规