蓝绿部署属于基于环境的发布模式。蓝绿部署模式中,会存在两个生产环境:蓝环境和绿环境。在任意时间里,都只有一个环境处理客户流量,另外一个环境用作测试新版本。蓝绿环境属于逻辑概念,处理客户流量的是绿环境。
任意情况下,绿环境提供用户流量,蓝环境用于部署新版本,测试人员在蓝环境中测试。
升级的时候,蓝环境进行版本升级(升级到版本1.1),用户流量指向绿环境(版本1.0)。
待蓝环境测试工作做完,确认一切正常后,用户流量切换到蓝环境 。
就逻辑上而言,此时蓝环境应该是绿环境,绿环境是蓝环境。
敏捷开发的情况下,新的迭代又开始了。新的版本此时部署到蓝环境。
上面的步骤看起来很简单,实际却暗藏深机,如果考虑不周,会踩很多坑。
比如:
F:蓝绿部署主要目的是为了解决生产上版本更新迭代问题的,最终必然会落实到生产环境。蓝环境在生产中部署,生产环境数据库产生测试的脏数据如何处理?
Q:财大气粗者,两套数据库安排上。若是精简持家,这个就是个很头疼的问题了,我现在就是卡在这个问题,暂时还没有什么好的解决方案。
F:多系统,多厂家合作的大型系统,怎么破?
Q:要么全部上蓝绿部署,至少在数据流转层面进行蓝绿区分。要么全部不上蓝绿部署,用灰度吧。这样的大系统应该在开工的时候就说好要不要上蓝绿部署的。
优点:
缺点:
END
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。