有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作背景

限流主要是通过设置限流规则保护后端服务,防止瞬时流量过大造成服务和数据崩溃,导致服务不可用。当资源成为瓶颈时,需要对请求做限流,启动流控保护机制。TSE 云原生 API 网关支持服务级路由级别的限流,本文介绍限流规则的配置方式。

前提条件

在配置限流策略前,确保您的 tse-rate-limiting(流量控制)插件已升级到最新版本。
1. 登录 TSE控制台
2. 在左侧导航栏单击云原生 API 网关 > 插件管理,在页面上方选择好网关实例。
3. 选择系统插件页签,查看插件是否已更新到最新版本,若未更新,单击操作列的安装最新版本即可。



服务级限流

服务级限流对服务下所有路由均生效,如需对路由配置限流,您可以前往路由管理页配置。

步骤1:配置限流策略

1. 登录 TSE控制台
2. 在左侧导航栏单击云原生 API 网关 > 路由管理,在页面上方选择好网关实例。
3. 单击服务页签,单击服务名称,进入服务详情页面。
4. 在页面上方选择限流策略页签,单击配置限流规则
参数
是否必选
说明
是否启用
开启后,限流规则将会生效。
QPS阈值
基础限流:根据请求数阈值进行流量控制。当该服务上的请求数量在设定的时间周期内大于阈值将触发限流。
参数限流:根据用户请求参数及指定条件进行流量控制。
限流依据
统计的请求来源标签,支持依据 Header、Path、IP、服务、Consumer、Credential 进行流量控制。
计数策略
当选择默认 Redis 时,计数器保存在 Kong 实例自带的 Redis 服务节点实现分布式限流,支持300万个 Key。
存储当选择外部 Redis 时,可配置 Redis 访问地址(服务器地址、连接密码、超时时间),实现更大规模的分布式限流。
限流处理策略
直接返回:触发限流直接返回 429。
自定义返回:触发限流后,自定义 HTTP 应答行为,需输入状态码、响应头和响应内容。
请求转发:触发限流后,跳转到指定页面,需输入请求转发地址。
请求排队
请求处理的最大排队时间,支持 0-15 秒。配置为 0 ,代表不延迟处理。配置大于 0 ,每隔 1 秒网关重试处理该请求,如果达到最大排队时间还未被处理,则请求被限流。
隐藏限流响应头
默认开启,隐藏后客户端将不会收到限流相关响应头。



5. 单击确定,完成规则创建。




步骤2:验证策略是否生效

发起请求触发限流规则,查看限流是否生效。

路由级限流

路由级限流仅对本路由生效,如需配置服务限流,您可以前往服务级限流策略页配置。

步骤1:配置限流策略

1. 登录 TSE控制台
2. 在左侧导航栏单击云原生 API 网关 > 路由管理,在页面上方选择好网关实例。
3. 选择服务页签,单击目标服务名称,进入路由管理页面。
4. 单击路由级限流模块的配置限流规则
参数
是否必选
说明
是否启用
开启后,限流规则将会生效。
QPS阈值
设置 QPS 阈值,当该路由上的请求数量在设定的时间周期内大于阈值将触发限流。
限流依据
统计的请求来源标签,支持依据 Header、Path、IP、服务、Consumer、Credential 进行流量控制。
计数策略
当选择默认 Redis 时,计数器保存在 Kong 实例自带的 Redis 服务节点实现分布式限流,支持300万个 Key。
存储当选择外部 Redis 时,可配置 Redis 访问地址(服务器地址、连接密码、超时时间),实现更大规模的分布式限流。
限流处理策略
直接返回:触发限流直接返回 429。
自定义返回:触发限流后,自定义 HTTP 应答行为,需输入状态码、响应头和响应内容。
请求转发:触发限流后,跳转到指定页面,需输入请求转发地址。
请求排队
请求处理的最大排队时间,支持 0-15 秒。配置为 0 ,代表不延迟处理。配置大于 0 ,每隔 1 秒网关重试处理该请求,如果达到最大排队时间还未被处理,则请求被限流。
隐藏限流响应头
默认开启,隐藏后客户端将不会收到限流相关响应头。



5. 单击确定,完成规则创建。




步骤2:验证策略是否生效

发起请求触发限流规则,查看限流是否生效。