通过创建路由功能,可将符合规则的请求,按照设置的流量权重分发至多个目标 Upstream,满足应用的多版本管理等场景。本文为您介绍如何创建路由。
注意
在 VKE 侧进行缩容操作,可能导致 VKE 类型 Upstream 的路由产生秒级别的短暂流量抖动,请谨慎操作。
前提条件
使用限制
- 一条路由最多支持对接 10 个 Upstream。
- 如果您的多条路由规则存在路径重叠,则来自重叠路径的请求会被转发至最早创建的那条路由。
操作步骤
- 登录 API 网关控制台。
- 在顶部导航栏,选择目标地域。
- 在左侧导航栏选择 路由管理 > 服务列表(域名)。
- 在服务列表页面,单击目标服务名称,进入当前服务概览页面。
- 在路由信息区域,单击 创建路由。
- 在创建路由页面,按要求配置信息。
基本信息
配置项说明:
配置项 | 说明 |
---|
路由名称 | 自定义路由名称。同一服务下路由名称唯一。 |
所属服务 | 服务是一组路由的入口。显示当前路由所属的服务名称。 |
匹配规则 | 配置匹配规则,只有符合规则的请求才能转发至目标 Upstream。 说明 Path 的优先级由高到低为:精准匹配 > 前缀匹配 > 正则匹配。 请求头 Header:只允许包含了指定请求头 Header 的请求进行访问。支持添加多条请求 Header。 请求参数 QueryString:只允许包含了指定访问参数的请求进行访问。支持添加多条请求参数。 优先级:输入路由匹配规则的优先级。匹配规则的精确度越高优先级越高。
例如,path:/abc , header:version=v1 优先级高于path:/abc ,与创建时间无关。
|
修改请求头 | 支持在转发过程中对原请求的 Header 进行编辑,并将修改后的 Header 转发给网关对接的后端服务。 支持以下三种修改模式。选择对应的模式后,请按界面要求填写对应的 key 和 value,value 不允许为空值。 注意 不支持 Header key重复。如果请求中有多个相同的key,可以将多个value值合并成一条并用逗号(;)分隔。 覆写(set):如果客户端发送的请求头中没有携带对应的 key,则添加一条新的 Header;如果已携带对应的 key,则该 key 的 value 将被 API 网关侧配置的 value 覆写。 追加(add):如果客户端发送的请求头中没有携带对应的 key,则添加一条新的Header;如果已携带对应的 key,则在此条 key 的 value 中追加 API 网关侧配置的 value。 移除(remove):如果客户端发送的请求头中携带对应的 key,则删除此字段。选择移除模式后,只需填写对应的 key。
|
路径匹配示例,如下表所示。
匹配方式 | 请求路径 | 设定路径 |
---|
/apig/test.jpg | /apig | /apig[^\s]* |
---|
精准匹配 | /apig/test.jpg | √ | - | - |
正则匹配 | √ | - | √ |
前缀匹配 | √ | √ | - |
Upstream 流量分发
配置项说明:
配置项 | 说明 |
---|
Upstream 流量分发 | 设置路由至不同 Upstream 的流量权重。单击 + 添加一个 Upstream,最多支持添加 10 个 Upstream。 - 后端类型:选择接入的 Upstream 类型,当前支持函数服务、云服务器、容器服务、固定域名、注册中心。
- 选择 Upstream:选择具体要对接的 Upstream。
- 权重:设置当前 Upstream 的流量权重。
- 灰度版本:对于 VKE 类型 Upstream,支持路由至当前应用的某一版本。工作负载在 VKE 侧配置的不同 Label 可区分为不同灰度版本,用于满足应用的多版本管理功能。如不选择灰度版本,则将按照负载均衡策略选择路由至当前应用的具体版本。
|
- (可选)填写 高级配置 信息,详细介绍可参见 高级路由策略。
- 单击 确定,创建完成路由。