蓝绿部署

是什么

蓝绿部署是一种以最小的停机时间更新运行中的计算机系统的策略。 运营商维护两个环境,被称为 “蓝” 和 “绿”。一个为生产流量服务(所有用户目前正在使用的版本),而另一个则被更新。 一旦在非活动(绿色)环境中的测试结束,生产流量就会被切换过来(通常通过使用负载平衡器)。 请注意,蓝绿色的部署通常意味着一次性切换整个环境,包括许多服务。 令人困惑的是,有时这个术语被用于系统内的单个服务。为了避免这种歧义,在提到单个组件时,最好使用 “零停机部署” 一词。

解决的问题

在更新那些由于缺乏向后兼容性而必须“同步”改变的软件时,蓝绿部署允许最小的停机时间。 例如,蓝绿部署适用于一个由网站和数据库组成的在线商店,该商店需要更新,但新版本的数据库不能与旧版本的网站一起使用,反之亦然。 在这种情况下,两者需要同时改变。 如果在生产系统上这样做,客户会注意到停机时间。

如何帮助

对于需要以最小的停机时间进行更新的非云原生软件来说,蓝绿部署是一种合适的策略。 然而,它的使用通常是一种 “气味”,即遗留软件需要重新设计,以便组件可以单独更新。


最后编辑 July 22, 2022: add tags (2f7798e)