您的位置:首页 > 其它

分布式服务框架-原理与实践:11---服务灰度发布【扩展】-蓝绿发布-续

2017-06-20 00:00 435 查看
https://martinfowler.com/bliki/BlueGreenDeployment.html

===================翻译======================

如何打造一个完全自动化的部署系统?

自动部署的好处不用多说,让我们来认识它的意义。

持续交付CI,让软件快速投入生产环境。

蓝绿发布这个技能很重要,所以这里我们简短的来看一下。

其中1个自动化部署的挑战是将软件从测试阶段切换到生产环境,通常会快速切换以便降低downtime

蓝绿发布方法是通过部署2套生产环境来实现的

任何时候,其中1个,比如蓝的,是存活的。假设准备了一个新的版本,发布在绿环境中。

一旦这个软件在绿环境中运行了,切换流量到绿环境中,蓝色的就可以不用了。

蓝绿发布给予能力来快速回滚,如果任何有错误发生,切换路由回到蓝色环境。

也许你想同时使用2套环境,这样蓝色环境可以作为备用环境。

这2个环境需要不同,有时候可以是硬件不同,或者不同的虚拟机,

一旦把绿色环境部署好了,对稳定性比较满意,蓝色的环境作为下一步的staging环境

就是从绿色切换到蓝色,2个环境轮流循环,前1个版本用于回滚。

这个方案的一个好处是有一个备用方案,尽量快速发布,基本思想就是存在2个简单的可切换的环境来进行切换。

细节很多,有1个方案是在web服务器上做切换而不是路由器,还有的是使用同1个数据库,让蓝绿环境切换。

数据库通常是1个麻烦的地方,尤其是需要更换schema的时候,方案是:

1)升级数据库,同时支持新老版本。

2)部署程序的新版本

Further Reading

You can find much more detail on this and related techniques from the Continuous Delivery book by Jez Humble and Dave Farley. My guide page on delivery points to more material on these topcis.

Acknowledgements

Illustration by Ketan Padegaonkar
Updates
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息