全链路灰度发布概述

最近更新时间: 2024-10-17 17:10:00

灰度发布是软件上线过程中常见的上线方式,是指在发布过程中,将具有一定特征或者比例的流量分配到需要被验证的版本中,用来观察新的验证版本的线上运行状态。 相比全量上线,灰度发布是更加谨慎的发布形式。当线上调用链路较为复杂时,全链路灰度发布可以将线上的各个服务隔离出一个单独的运行环境。

全链路灰度发布的常见场景如下: 如上图所示,我们划分出一个灰度环境,针对线上版本2的所有服务,我们希望都能配置一定规则。当满足一定规则后,所有请求都会流入灰度环境中,经过微服务 A 版本2的请求,一定会同样落入微服务 D 的版本2中。

名词解释

  • 泳道:泳道是一组部署组的集合,是灰度发布规则的目的地。泳道中的部署组属于不同的应用。可以认为用户通过划分泳道划分出了灰度环境。

  • 灰度规则:用户在灰度规则上配置请求需要满足的条件。当请求满足一定条件后,可以通过灰度规则将流量路由到某一个泳道中。