服务限流

最近更新时间:2025-06-23 17:50:22

我的收藏
服务限流是最常见的一种服务自我保护措施之一,防止流量洪峰打垮服务。Spring Cloud Tencent Rate Limit 模块内置了针对 Spring WebSpring WebFlux 场景的限流Filter,结合北极星的限流功能帮忙业务快速接入限流能力。

前提条件

在开始开发前,请确保您已经下载安装了 Java 和 Maven。

操作步骤

步骤1:引入依赖

1.1 引入 spring cloud tencent 依赖

修改应用根目录下的 pom.xml,添加dependencyManagement
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-tencent-dependencies</artifactId>
<version>${version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
注意:
请根据项目 Spring Boot 和 Spring Framework 的版本,选择合适的 Spring Cloud Tencent 版本

1.2 引入 spring cloud tencent starter

方式一:通过 spring-cloud-starter-tencent-all 引入 sct 所有 starters。
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-all</artifactId>
</dependency>
方式二:同时引入 spring-cloud-starter-tencent-polaris-ratelimit
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-ratelimit</artifactId>
</dependency>

步骤2:增加配置文件

1. 在项目的 main/resources 目录下创建 application.yml 文件。
2. 在 application.yml 文件中配置应用名、polaris(北极星)服务端地址等信息。
spring:
application:
name: ${application.name}
cloud:
polaris:
enabled: true
address: grpc://${修改为第一步部署的 Polaris 服务地址}:8091
namespace: default
ratelimit:
enabled: true

步骤3:控制台配置限流规则

请参见服务治理指南服务限流相关文档,配置限流规则,相关界面如下:



步骤4:启动应用

应用启动成功后,访问应用的 HTTP 接口,测试限流是否生效。如果请求被限流将会返回以下内容:
The request is deny by rate limit because the throttling threshold is reached