工作纪实46-关于微服务的上线发布姿势

蓝绿部署

在部署时,不需要将旧版本的服务停掉,而是将新版本与旧版本同时运行,新版本测试无误之后再将旧版本停掉。这样可以避免再升级的过程中如果失败服务不可用的问题,因为同时部署了两个版本的程序,使得硬件资源是普通部署的两倍。

滚动发布


滚动发布可以解决蓝绿部署需要硬件资源两倍的问题。再升级的过程中,每次替换一个旧版本的副本,直到所有旧版本被替换完毕。但是这样做的缺点是,由于新旧版本同时运行,有些流量会流入到新版本中,但是新版本并不一定是可用的,很难确定是新版本还是旧版本的问题。在滚动发布的过程中,整个系统都趋于不稳定的状态。

灰度发布

又称金丝雀发布,叫金丝雀的原因是在矿井挖掘中,人们发现金丝雀会对瓦斯浓度很敏感,在挖掘前将金丝雀放入到矿井中,如果金丝雀不叫了,那么表示矿井中瓦斯浓度很高。

在试用灰度发布的过程中会新开一个应用程序,让开发人员对应用测试没问题之后,可用将少量流量接入到新版本中,然后将旧版本与新版本各项数据进行对比,如果执行良好之后则可用加大流量,然后将所有旧版本替换成新版本。

相关推荐
heimeiyingwang20 小时前
【架构实战】JVM调优:GC选择与堆内存分配策略
jvm·架构
小森林之主21 小时前
Docker Compose 紧急救援:凌晨3点服务器报警的解决方案
docker·微服务·容器化·docker compose·故障排除
笨蛋不要掉眼泪1 天前
MySQL架构揭秘:慢查询日志详解
数据库·mysql·架构
heimeiyingwang1 天前
【架构实战】Netty高性能网络编程:IO模型与内存池
架构
解局易否结局1 天前
ArkUI MVI 架构实战:单向数据流设计模式在 HarmonyOS NEXT 中的深度实践
华为·设计模式·架构·harmonyos
L-影1 天前
单体与微服务区别
微服务·云原生·架构
cfm_29141 天前
Nacos零基础入门实战
微服务
运维大师1 天前
【K8S 运维实战】01-K8s架构深度剖析
运维·架构·kubernetes
XUHUOJUN1 天前
Azure Stack Hub 容量规划指南(上篇:Microsoft 软件层 + 架构原理)
架构·azure stack
seacracker1 天前
HPC存储I/O抖动无解?PowerFS基于CRDT弱一致架构,彻底实现前台零抖动
架构·分布式存储·powerfs·hpc存储·i/o零抖动