创建路由
您可以为应用网关配置路由规则,当应用网关收到访问流量时,会根据已配置的路由规则判断是否匹配并做相应的处理。
创建路由
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的实例名称。
- 在左侧导航栏选择“路由管理 > 路由配置”。
- 单击“创建路由”。
- 在“创建路由”页面,配置流量特征和路由规则相关参数,具体参数见表1。
- 可同时添加多条路由规则,路由规则匹配的优先级与页面展示排列顺序保持一致,可通过拖拽调整路由规则的排列顺序。
- 多条路由规则之间是“或”关系。
- 单个路由规则中的匹配条件,即服务地址、请求方法、请求头和请求参数之间是“且”关系。
表1 路由参数 类型
配置项
描述
流量特征
*路由名称
自定义路由的名称。包含小写字母、数字和特殊字符(-.),不能出现连续特殊字符且不能以特殊字符开头和结尾,长度不超过53个字符。
*域名
在下拉选项框中选择创建域名配置中创建的域名,可选择多个域名。
路由规则
*路径(Path)
设置匹配HTTP请求中的服务地址参数,可选择的匹配规则包括:精确匹配、前缀匹配和正则匹配。
- 前缀匹配:以前缀作为匹配条件,如输入参数为/opt,则匹配以/opt开头的所有路径。
- 精确匹配:即完全匹配,如输入参数为/opt,则匹配路径等于/opt的所有路径。
- 正则匹配:以正则表达式作为匹配条件,如输入参数为/o[opt][opt],则匹配符合该正则语法的所有路径,如/opt、/ooo、/otp等等。
说明:
适合的路径应为“/...”,输入正则表达式时应将路径作为匹配对象。正则语法规范见RE2正则语法规范。
*请求方法
设置匹配HTTP请求中的方法,支持选择多种HTTP方法。
请求头
设置匹配HTTP请求中的请求头,单击“ 添加请求头”添加请求头,可添加多个请求头。
请求参数
设置匹配HTTP请求中的请求参数,单击“ 添加请求参数”添加请求参数,可添加多个请求参数。
*目标服务
添加目标服务信息,目标服务相关参数见表2。
- 单击“ 添加目标服务”可同时添加多个目标服务。
- 当您想要删除某个目标服务时,可单击该目标服务“操作”列的“删除”,删除该目标服务。
- 当您想要为匹配到的目标服务配置路由Header规则或设置fallback服务时,可单击该目标服务“操作”列的“拓展规则”,具体参数可参考表3。
- 可单击“ 添加Header类型”同时添加多条Header规则,也可单击规则右侧“操作”列的“删除”删除该规则。
- 可单击启用fallback服务,也可单击禁用fallback服务。
限流策略启用
可单击开启限流策略,应用网关支持对路由规则配置限流策略,包括限制TPS、限制并发数、根据IP限制等。配置限流策略具体操作请参见表4。
黑白名单
可单击开启路由级别的黑白名单,应用网关支持路由级别的黑白名单,实现配置多维度禁流,如url的正则匹配、来源IP匹配、header的key或value匹配、method等组合配置禁流。路由级别的黑白名单具体配置请参考表5。
说明:该功能不适用于应用网关前后端网络不在同VPC的场景。
表3 拓展规则参数 操作类型
配置项
描述
Header设置
Header类型
支持对请求头和响应头进行设置。
- 请求头:表示会对请求的Header进行设置。
- 响应头:表示会对响应的Header进行设置。
操作类型
操作类型包括:添加、覆盖和删除。
- 添加:向请求或响应新增一个Header。
说明:
- 如果指定的Header已存在,那么Header Value将会拼接在已有的Header值后,并通过英文逗号(,)分隔。
- 如果指定的Header不存在,将会按照Header Key和Header Value进行添加。
- 覆盖:覆盖请求或响应指定的Header。
说明:
- 如果指定的Header存在,将会使用新的Header Value进行覆盖已有的Header值。
- 如果指定的Header不存在,将会按照Header Key和Header Value进行新增操作。
- 删除:删除请求或响应指定的Header。
Header Key
输入请求或响应的头部名。
Header Value
输入请求或响应的头部值。
设置fallback服务
服务名称
在下拉框中选择服务,当路由规则的目标服务出现故障时,可以将流量转发到指定的容灾服务,保障业务的高可用性。
分组
在下拉框中选择分组,通过选择分组,可以指定作用到服务的某一个分组下。
表4 限流策略 参数
描述
*总体限流阈值
输入请求数和时间设置总体限流阈值,表示单位时间内只允许指定数量的请求访问。目的是当路由的QPS指标达到设定的阈值时,应用网关会立即拦截流量,防止瞬时的流量高峰将后端服务破坏,确保服务高可用性。单位可为秒、分钟和小时。
说明:总体限流阈值表示所有节点限流值的总和。实际单节点的限流值=总体限流阈值/节点数,且值向上取整。
突发最大请求数
允许突发流量瞬时的最大请求数。目的是当路由的最大请求数超过该设定值时,应用网关会立即拦截,确保服务高可用。该取值默认与总体限流阈值相同,也可根据需要自定义设置突发最大请求数。
源IP限流
可单击“ 添加源IP”设置源IP、限流请求数阈值和窗口统计时长,对添加的请求IP进行限流。可添加多条源IP,也可单击“操作”列的“删除”删除某源IP。
- 单击“保存并发布”,该路由添加完成,且该路由已发布。
当单击“保存”后,该路由添加完成但未发布。