灰度发布时,设置流控规则和部署新版本这两个动作的先后次序并没有限制,可以有多种策略。以下是几种可能的组合方式,您可以根据具体情况评估选用。

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