1. 蓝绿部署
1.1. 是什么
蓝绿部署是一种以最小的停机时间更新运行中的计算机系统的策略。
运营商维护两个环境,被称为 "蓝" 和 "绿"。一个为生产流量服务(所有用户目前正在使用的版本),而另一个则被更新。
一旦在非活动(绿色)环境中的测试结束,生产流量就会被切换过来(通常通过使用负载平衡器)。
请注意,蓝绿色的部署通常意味着一次性切换整个环境,包括许多服务。
令人困惑的是,有时这个术语被用于系统内的单个服务。为了避免这种歧义,在提到单个组件时,最好使用 "零停机部署" 一词。
1.2. 解决的问题
在更新那些由于缺乏向后兼容性而必须“同步”改变的软件时,蓝绿部署允许最小的停机时间。
例如,蓝绿部署适用于一个由网站和数据库组成的在线商店,该商店需要更新,但新版本的数据库不能与旧版本的网站一起使用,反之亦然。在这种情况下,两者需要同时改变。
如果在生产系统上这样做,客户会注意到停机时间。
1.3. 有什么作用
对于需要以最小的停机时间进行更新的非云原生软件来说,蓝绿部署是一种合适的策略。
然而,它的使用通常是一种 "气味",即遗留软件需要重新设计,以便组件可以单独更新。