legs+ 发表于 2023-10-21 09:23:56

什么是蓝绿发布、灰度发布:

蓝绿部署是一种应用发布模式,可将用户流量从先前版本的应用或微服务逐渐转移到几乎相同的新版本中(两者均保持在生产环境中运行)。 旧版本可以称为蓝色环境,而新版本则可称为绿色环境。 一旦生产流量从蓝色完全转移到绿色,蓝色就可以在回滚或退出生产的情况下保持待机,也可以更新成为下次更新的模板。







灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

legs+ 发表于 2023-10-21 10:01:08

在微服务系统的部署和演化过程中,蓝绿部署、A/B测试、灰度发布、滚动发布、红黑部署等概念经常提到和使用。


….

有一种“不睡觉的”生物—-海豚。科学研究表明,海豚有左右脑,并且左右脑可以交替休息和独立工作,所以海豚可以不睡觉。
蓝绿部署和海豚不睡觉有相似之处,可以做到不停机维护。当有新版本需要升级时,可以采取以下步骤进行。
1.把老版本的服务集群分成蓝和绿两个部分。
2.把全部访问流量切换到集群的绿色部分来提供服务。
3.升级蓝色部分的集群。
4.当新版本在蓝色的机器集群中部署完成后,把全部流量切换到刚升级完成的蓝色部分中。
5.升级绿色部分的集群。
6.当绿色集群升级完成后,把流量切换到全部集群。
这样处理的好处是,维护时不需要停机,旧版本的状态不受影响,而且升级的风险很低。如果旧版本的资源没有被删除,并且新版本符合回滚的要求,则理论上我们可以随时回滚到旧版本


孤星3 发表于 2023-10-21 20:17:35

我以前不会发掘这些资料的。第一楼的好明白,第二楼开始失去方向了。谢谢分享!

legs+ 发表于 2023-10-21 20:21:00

二楼,是我手敲的

孤星3 发表于 2023-10-21 20:53:28

legs+ 发表于 2023-10-21 20:21
二楼,是我手敲的

不错,你的心得写得不错,只是我一时消化不来。:D
页: [1]
查看完整版本: 什么是蓝绿发布、灰度发布: