灰度发布策略
灰度发布时,设置流控规则和部署新版本这两个动作的先后次序并没有限制,可以有多种策略。以下是几种可能的组合方式,您可以根据具体情况评估选用。
使用方式 | 优势 | 问题 |
---|---|---|
部署新版本 > 设置流控规则 | 可以验证灰度分组承接流量的能力。 应用部署和灰度设置只需要一次衔接。 |
在灰度规则设置生效前,进入新版本应用实例的流量可能不是灰度的。 |
部署旧版本 > 设置流控规则 > 升级到新版本 | 可以验证灰度分组承接流量的能力。 | 最后一步需要注意应用实例的平滑升级,考虑对正在处理请求的影响。 两次应用部署动作。 |
设置流控规则 > 部署新版本 | 应用部署和灰度设置只需要一次衔接。 | 未部署前,灰度流量会降级路由到非灰度环境,但第一批新版本实例在发布后,有受到全部灰度流量冲击的风险。 |
设置无效流控规则 > 部署新版本 > 设置有效流控规则 | 可控性最好,新部署的应用实例直到新的有效灰度规则生效后才接收到灰度流量。 | 两次灰度设置动作。 |
说明:
- 推荐采用第三种方式。操作简单,可以保证非灰度的流量不会进入灰度环境,但是需要注意在开始部署时灰度应用实例较少,有受灰度流量冲击的风险,要做好流量保护。
- 全链路灰度和单个应用的组合方式相似,只是将设置流控规则改为创建灰度环境。