功能介绍
流控规则用于对服务或接口的访问流量进行控制,通过限制请求速率(QPS)或并发请求数量,防止突发流量、恶意请求或资源竞争导致服务性能下降甚至不可用。当请求量超过设定阈值时,系统将按照配置规则对请求进行限流或拒绝处理,从而保障服务的稳定性和可用性。
通过合理配置流控规则,可有效保护核心业务服务,提升系统在高并发场景下的稳定性和用户访问体验。
流控类型
单机 QPS 限流
单机 QPS 限流用于限制单个应用实例每秒可处理的请求数量。当请求速率超过实例设定阈值时,超出的请求将被限流或拒绝,以避免实例因瞬时流量过大而出现响应变慢、资源耗尽或服务异常等问题。支持针对指定接口单独配置限流策略,实现更精细化的流量控制。
适用场景:
适用于实例处理能力有限、需要对单个实例进行保护的场景,如接口突发访问、热点接口防护或实例资源受限的应用。
总并发限流
总并发限流用于限制服务整体能够同时处理的请求数量。当系统当前处理中的请求数达到设定阈值时,后续请求将被拒绝,直到已有请求处理完成并释放并发额度。
与单机 QPS 限流不同,总并发限流更关注服务当前资源占用情况,能够有效防止因请求积压导致服务响应变慢或资源耗尽。
适用场景:
适用于下游依赖资源有限(数据库、缓存、中间件等)、请求处理耗时较长、需要限制系统整体负载、防止服务因高并发导致雪崩的应用。
前提条件
已部署应用。
应用已开启服务治理(服务网格)。
功能入口
登录CAE控制台,选择目标地域,在左侧导航栏选择应用管理 > 应用列表,然后选择目标命名空间,最后单击目标应用名称。
在目标应用的左侧菜单栏,单击“微服务治理”,展开二级菜单。
点击“流量治理”。
点击“流控规则”页签,进入流控规则管理页面。
创建单机 QPS 限流规则
在流控规则管理页面,切换到“单机 QPS 限流”页签,点击“创建规则”按钮,在新建规则面板,配置相关信息,然后点击“确定”。
| 配置项 | 说明 |
|---|---|
| 名称 | 规则名称。 |
| 描述 | 规则描述。 |
| 是否开启 | 规则开启状态。 |
| 单机阈值 | 单机限流的阈值。 |
| 接口限流 | 针对指定接口配置独立限流策略,支持精确匹配、前缀匹配和正则匹配。 注意 命中接口限流规则的请求会同时消耗全局限流额度。 |
| 响应状态码 | 触发限流时的响应状态码。 |
| 响应头 | 触发限流时,需要设置的响应头。 |
创建总并发限流规则
在流控规则管理页面,切换到“总并发限流”页签,点击“创建规则”按钮,在新建规则面板,配置相关信息,然后点击“确定”。
| 配置项 | 说明 |
|---|---|
| 名称 | 规则名称。 |
| 描述 | 规则描述。 |
| 是否开启 | 规则开启状态。 |
| 总并发阈值 | 服务允许同时处理的最大请求数,超过阈值的新请求将被拒绝。 |
| 最大连接数 | 服务允许建立的最大连接数,超过限制后新连接将被拒绝。 |
编辑规则
在流控规则管理页面,找到目标规则,在其操作列,点击“编辑”。
注意 如果规则状态为启用,编辑后的规则会实时生效。
启用或停用规则
在流控规则管理页面,找到目标规则,在其操作列,点击“启用”或“停用”。
删除规则
在流控规则管理页面,找到目标规则,在其操作列,点击“删除”。
说明 启用中的规则,无法删除,需要先停用。
注意 删除后的规则无法恢复,请谨慎操作。