【发布时间】:2014-07-07 21:40:02
【问题描述】:
我对金丝雀版本的理解是,它是对部分生产节点的部分发布,并启用了粘性会话。这样一来,您就可以控制并最大限度地减少在最终发布错误错误时受到影响的用户/客户的数量。
我对蓝色/绿色版本的理解是您有 2 个镜像生产环境(“蓝色”和“绿色”),并且您将更改推送到蓝色或绿色的所有节点一次,然后使用网络魔法来控制通过 DNS 将用户路由到哪些环境。
所以,在我开始之前,如果我到目前为止所说的任何内容不正确,请先纠正我!
假设我或多或少走上了正轨,那么关于这两种策略的几个问题:
- 是否存在金丝雀比蓝/绿更受欢迎的场景,反之亦然?
- 是否存在部署模型可以同时实施两种策略的场景?
【问题讨论】:
-
您的理解是正确的,但我不会将蓝绿策略表述为需要一次部署到所有节点。你可以随心所欲地部署它们——唯一的压力是你自己的最后期限。此外,您可以使用蓝绿色仅发布对部分节点的更改(例如,仅修改多个 API 端点池中的一个)。
-
很好地总结了我在各处看到的这些概念,但首先没有明确的定义!
标签: deployment production-environment release-management blue-green-deployment canary-deployment