蓝绿部署

维基百科,自由的百科全书

蓝绿部署(英語:blue–green deployment)在软件工程中,是一种通过交换生产服务器和临时服务器来对Web、应用或数据库服务器部署软件更改的方法。

概述[编辑]

在蓝绿部署中存在两种服务器:“蓝色”服务器和“绿色”服务器。在任何特定时刻,只有其中一台服务器处理请求(可以通过DNS来选择特定服务器)。例如,当蓝色服务器作为生产环境的服务器时,外部网络来的请求被路由到蓝色服务器;而此时绿色服务器作为临时服务器,只能通过私有网络访问。软件的更改安装在临时服务器上,通过私有网络进行测试,以验证更改是否按预期工作。验证后,蓝、绿服务器交换颜色,从而从而使得已部署的软件更改在生产环境中生效。 [1]

这种软件部署方法可以保证在出现任何问题时都能够快速回滚到软件更改被部署之前的状态。这种回滚是通过简单地将IP层的流量路由回之前的、未部署最近的软件更改的生产服务器来实现的。 [2]蓝绿部署方法的另一个好处是减少服务器的停机时间。由于路由会立即从一台服务器切换到另一台服务器,因此理想条件下不会出现请求得不到处理的情况。[3]

蓝绿部署技术通常被拿来与金丝雀发布部署技术进行对比。[3]

参考来源[编辑]

  1. ^ LaToza, Thomas. Deployment (PDF). 2019 [2020-01-14]. (原始内容 (PDF)存档于2020-01-14) (英语). 
  2. ^ Fowler, Martin. Blue Green Deployment. 2010-03-01 [2020-01-14]. (原始内容存档于2020-01-10) (英语). 
  3. ^ 3.0 3.1 Posta, Christian. Blue-green Deployments, A/B Testing, and Canary Releases. 2015-08-03 [2020-01-14]. (原始内容存档于2018-03-30) (英语).