You need to enable JavaScript to run this app.
导航
流量泳道概述
最近更新时间:2024.01.16 10:07:15首次发布时间:2023.09.27 16:47:12

将服务按照业务需求分组和复制,使服务链路运行在相互隔离的物理环境上的方法称为流量泳道。流量泳道因内部逻辑和游泳场中的泳道相似而得名。本文介绍流量泳道的应用场景和核心步骤。

应用场景

全链路灰度发布

全链路灰度发布是微服务架构下一种高阶的稳定性治理能力。在流量泳道构建的生产环境中隔离一块单独的预发布环境,并基于实际的业务流量对预发布的版本进行验证。当预发布环境中的应用版本符合业务预期后,将流量不间断的切换至已部署发布版本的基线泳道中,完成应用的正式发布。

alt

全链路灰度发布具备以下特性:

  • 精细化流量控制
    基于业务流量特征染色匹配,精细灰度流量控制。支持通过 Spring Cloud Gateway 服务网关或自建网关(例如 Ingress)完成流量染色。

  • 自定义 Header 透传
    可在跨集群、跨网关场景下通过自定义 Header,识别特征流量对其进行流量染色。详情参见 接入 Java 应用

  • 泳道标签实例自动染色
    通过 Ingress/自建网关进行入口流量接入时,可匹配用户自定义 Header,将流量路由至灰度版本。当流量进入染色实例后,可自动对流量进行染色。

  • 服务灰度发布自治
    当下游服务泳道实例异常时,可以通过 Fallback 开关,配置自动路由至基线泳道,保障生产流量业务闭环。

Fallback 策略

开启泳道的 Fallback 策略后,泳道内的服务可基于业务发布规划,自主选择上线灰度实例。未上线灰度版本服务不会导致业务的中断,Fallback 策略将优先调用基线版本,以保障灰度流量业务的整体闭环。

例如下图中,灰度泳道中服务 B 未上线,开启 Fallback 策略后,灰度流量访问服务 B 时,先将流量路由至服务 B 的 基线版本,然后返回灰度泳道中服务 C 的 灰度版本,直至业务的完结。

alt

相关文档

创建流量泳道