42

蓝/绿部署和滚动部署有什么区别?我一直认为蓝/绿部署是流量从旧版本突然切换到新版本。

这篇关于 AWS 上蓝/绿部署的讨论展示了实现蓝/绿部署的各种不同策略,但它们似乎也符合滚动部署的定义。

蓝/绿部署是滚动部署的子集吗?

4

2 回答 2

48

我在这里写了一篇关于这个主题的文章:http: //blog.itaysk.com/2017/11/20/deployment-strategies-defined

在我看来,区别在于是通过替换现有设置中的实例来应用新版本(在滚动升级的情况下),还是为新版本创建完全隔离的设置(在蓝/绿的情况下)。在我看来,蓝/绿是最安全的策略,并且在大多数情况下更适合生产部署。阅读帖子以获得详细的比较。

于 2017-11-20T17:02:11.093 回答
44

Blue Green Deployment中,您有两个完整的环境。

一种是正在运行的蓝色环境和要升级到的绿色环境。将环境从蓝色切换到绿色后,流量将被定向到新的绿色环境。您可以删除或保存旧的蓝色环境进行备份,直到绿色环境稳定为止。

Rolling Deployment中,您只有一个完整的环境。

一旦你开始升级你的环境。代码部署在同一环境的实例子集中,完成后移至另一个子集。

所以两者在各种因素上都不一样,你需要根据场景来选择部署模型。蓝/绿部署不是滚动部署的子集。

于 2017-04-11T10:06:16.350 回答