蓝绿发布要求有两套系统,一套提供系统服务,认为是绿色的,另外一套是准备发布的系统,认为是蓝色的。两套系统提供相同的功能,都能提供全量服务。
最初只有绿色系统是对外提供服务的,同时准备好具有新特性的蓝色系统,然后在路由层把用户请求路由到蓝色系统。当发现蓝色系统有问题,通过回滚路由配置,快速恢复到从前稳定的版本。
蓝绿发布的时候,是两套系统直接切换。最开始访问的是绿色系统,当准备好要发布到蓝色系统,访问切换到蓝色系统。
同一时间,线上始终有两套版本的系统在运行,但只有一个的系统提供服务,每次发布都可以实现系统快速迁移和替换。而且日常也可以对蓝色系统进行反复的测试和验证。
蓝绿发布可以用在新老系统替换迁移的场景中,但在实际日常发布中使用得较少,原因如下:
1 蓝绿发布相对容量的消耗较大,因为相当于有两倍的系统容量。
2 在数据层等有状态的模块中,两套系统切换并不是很容易,产生的数据同步问题比较难处理。
在进行热备的系统切换中,可以运用蓝绿发布。
金丝雀发布发布就是先从负载列表中空出要进行金丝雀发布的机器,然后升级该机器为金丝雀版本。观察金丝雀版本的正确性,如果没有问题,再逐步升级其他机器,知道全部机器升级为最新版本。这个过程有点类似于测试中的冒烟测试,用一个最小的单元来快速验证发布的正确性。
当有多个服务时,选择小部分流量来做金丝雀发布验证,如下图所示。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/chengqiuming/article/details/122276132
内容来源于网络,如有侵权,请联系作者删除!