灰度部署方式

x33g5p2x  于2022-01-04 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(252)

一 蓝绿发布

蓝绿发布要求有两套系统,一套提供系统服务,认为是绿色的,另外一套是准备发布的系统,认为是蓝色的。两套系统提供相同的功能,都能提供全量服务。

最初只有绿色系统是对外提供服务的,同时准备好具有新特性的蓝色系统,然后在路由层把用户请求路由到蓝色系统。当发现蓝色系统有问题,通过回滚路由配置,快速恢复到从前稳定的版本。

蓝绿发布的时候,是两套系统直接切换。最开始访问的是绿色系统,当准备好要发布到蓝色系统,访问切换到蓝色系统。

同一时间,线上始终有两套版本的系统在运行,但只有一个的系统提供服务,每次发布都可以实现系统快速迁移和替换。而且日常也可以对蓝色系统进行反复的测试和验证。

蓝绿发布可以用在新老系统替换迁移的场景中,但在实际日常发布中使用得较少,原因如下:

1 蓝绿发布相对容量的消耗较大,因为相当于有两倍的系统容量。

2 在数据层等有状态的模块中,两套系统切换并不是很容易,产生的数据同步问题比较难处理。

在进行热备的系统切换中,可以运用蓝绿发布。

二 金丝雀发布

金丝雀发布发布就是先从负载列表中空出要进行金丝雀发布的机器,然后升级该机器为金丝雀版本。观察金丝雀版本的正确性,如果没有问题,再逐步升级其他机器,知道全部机器升级为最新版本。这个过程有点类似于测试中的冒烟测试,用一个最小的单元来快速验证发布的正确性。

当有多个服务时,选择小部分流量来做金丝雀发布验证,如下图所示。

相关文章