蓝绿发布、金丝雀发布(灰度发布)和滚动发布

1、蓝绿发布
项目逻辑上分为AB组,在项目部署时,先把A组从负载均衡中摘除,进行新版本的部署,项目B继续提供服务,当A组升级完毕,负载均衡重新接入A组,再把B组摘除,进行新版本部署,A组重新提供服务。
最后B组也升级完成重新接入负载均衡,此时AB组均升级完成,并且都对外提供服务 优点: 发布策略简单,用户无感知,平滑过渡,升级
/回滚速度快 缺点: 需要两倍以上的服务器,短时间内浪费资源成本
金丝雀发布也叫灰度发布

灰度发布只升级部分服务,让一部分用户继续使用老版本,一部分使用新版本,
如果新版本使用平滑并没什么意见,那么逐渐扩大升级范围,把所有用户都往新版本迁移

优点:
保证整体系统的稳定性,再初始灰度的时候就可以发现,调整问题,影响范围可控。
用户无感知

缺点:
自动化要求高
滚动发布:
滚动发布指每次都只升级一个或者多个服务,升级完成后加入prod环境,不断执行这个
过程,直到所有程序都升级到新版本

优点:
用户无感知,节约资源

缺点:
部署时间慢,取决于每个阶段更新时间
发布策略较为复杂
无法确认ok的环境,不易回滚

如果自动化运维能力不够,肯定越简单越好,建议蓝绿发布

如果业务对用户依赖很强,建议灰度发布

如果是K8s平台,建议滚动发布

原文地址:https://www.cnblogs.com/tigergaonotes/p/15619841.html