微服务升级
微服务升级
微服务升级应该考虑下面几个问题:
- 如何确保整个升级过程中微服务可用,即服务不中断;
- 如何确保微服务的新版本可用;
- 如何实现升级出现问题时快速回滚;
滚动升级
滚动升级是在微服务不下线的前提下对微服务的版本进行升级,整个升级过程中微服务可用。滚动升级适用于需要定期对微服务进行更新升级的场景。
升级过程中Deployment同时维护版本V1和V2。版本V1的数量不断减少,而版本V2的数量不断增加,直到版本V1的数量为0。
滚动升级的优点是整个升级过程只需要增加很少硬件资源(25%)。但由于滚动升级过程中,对微服务的访问有可能被新服务或老服务处理,不能对调用的新旧服务进行指定,升级过程中会出现不一致现象。同时,如果升级过程中出现问题,不能确认是新服务的问题还是就服务的问题。
灰度发布
灰度发布是指在发布新版本微服务过程中同时维护2个版本,将服务访问按照流量权重或规则分发到新老服务。灰度发布能够在服务升级过程中检测新服务是否可用,对比新旧服务质量,并能指定新旧服务的比例。
金丝雀发布为灰度发布的一种。服务升级之前,先启动一个新服务实例并将少量访问流量导向新服务,查看新服务的反馈来决定是否升级。
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/14478063.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-03-04 delphiredisclient开源GIT
2014-03-04 客户端远程方法声明
2014-03-04 全局对象的创建
2014-03-04 巧用TAG属性保存对象的指针
2014-03-04 导入excel数据
2014-03-04 怎样做出通用的pos小票打印程序