流量泳道能够实现部分服务组件运行环境的非全量搭建,降低局部运行环境的创建成本。本文介绍如何创建流量泳道。
为了实现逻辑和物理资源的隔离,按照需求复制分组的一系列服务链路环境称为流量泳道。流量泳道因内部逻辑和游泳场中的泳道相似而得名。流量泳道可以针对变更的特定服务调用链创建一个基础隔离环境,将业务变更导致的工作量降到最低。
已通过 应用接入向导 获取设置服务泳道所需的 Annotation(示例如下)并添加至对应的工作负载。操作方法参见 接入 Java 应用。
spec: template: metadata: annotations: sidecar.mesh.io/prestop-timeout: "5000" labels: sidecar.mesh.io/data-plane-mode: "java_proxyless" sidecar.mesh.io/lane: "lane-a" sidecar.mesh.io/mse-namespace: "nacos-test-public-default-group"
已在部署服务的工作负载中添加泳道的染色标识 Headers。
登录 微服务引擎控制台。
在左侧导航栏,选择 治理中心 > 流量泳道。
在 泳道列表 页面,单击 创建泳道。
配置基本信息。
基本信息
参数 | 说明 |
---|---|
泳道标识 | 泳道标识是服务网格中泳道的唯一标识,带有泳道标识的流量会被路由到指定的泳道中。 |
描述 | 自定义泳道的描述。 |
Fallback | 是否支持在分支泳道无服务时,调用基线泳道中的服务。开启 Fallback 策略后,未上线灰度版本服务不会导致灰度业务的中断,Fallback 策略将优先调用基线版本,以保障灰度流量业务的整体闭环。详情参见 流量泳道概述。 注意 如果需要下线分支中的服务版本,请先停止流量注入,避免灰度流量进入基础泳道。 |
服务配置
参数 | 说明 |
---|---|
服务来源 | 服务的来源,支持注册中心,即服务来源于 Nacos 注册中心。 |
命名空间 | 选择服务所属的命名空间。支持选择不同命名空间中的服务,无需在不同命名空间中重复部署相同的服务。 |
服务 | 选择流量泳道中服务。 |
泳道流量入口
参数 | 说明 |
---|---|
染色入口类型 | 选择流量泳道的入口。
|
流量入口 | 选择 服务网关 类型后需要填写。选择已创建的服务网关作为流量入口。创建服务网关的方法参见 接入 Spring Cloud Gateway。 |
泳道染色规则
参数 | 说明 |
---|---|
染色规则类型 | 选择 服务网关 类型需要填写。为进入的请求 Header 添加目标泳道标识的入口流量调度规则。 |
规则开启 | 如果选择,则在泳道创建后,立即开启泳道染色规则。 |
单击 确定,完成创建。
完成创建后,在泳道列表页面,单击 开启流量染色 > 开启, 符合规则的流量即可访问泳道内服务。