上云无忧 > 文档中心 > 腾讯云微服务引擎 TSE Spring Cloud 开发 - 服务限流
微服务引擎 TSE
腾讯云微服务引擎 TSE Spring Cloud 开发 - 服务限流

文档简介:
操作场景: 服务限流是最常见的一种服务自我保护措施之一,防止流量洪峰打垮服务。Spring Cloud Tencent Rate Limit 模块内置了针对 Spring Web 和 Spring WebFlux 场景的限流Filter,结合北极星的限流功能帮忙业务快速接入限流能力。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

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

前提条件

1. 在开始开发前,请确保您已经参见 下载 Maven下载安装了 Java 和 Maven。
2. 已创建 TSE 治理中心(北极星网格)实例,操作步骤详细参见 引擎管理

操作步骤

步骤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-polaris-ratelimit
		
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-ratelimit</artifactId>
</dependency>
方式二:通过spring-cloud-starter-tencent-all引入 sct 所有 starters。
		
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-all</artifactId>
<!-- 注意需要指定 type=pom-->
<type>pom</type>
</dependency>
如果使用 Spring Cloud 2020 及以后版本,还需要添加如下依赖:
		
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

步骤2:增加配置文件

1. 在项目的 main/resources 目录下创建 bootstrap.yml 文件。
2. 在 bootstrap.yml 文件中配置应用名、polaris(北极星)服务端地址等信息。服务端地址详细参见:引擎管理 > 客户端访问地址
		
spring:
application:
name: ${application.name}
cloud:
polaris:
address: grpc://${修改为第一步部署的 Polaris 服务地址}:8091
namespace: default

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

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


步骤4:启动应用

应用启动成功后,访问应用的 HTTP 接口,测试限流是否生效。如果请求被限流将会返回以下内容:
		
The request is deny by rate limit because the throttling threshold is reached
相似文档
  • 操作场景: Spring Cloud Tencent CircuitBreaker 结合 Polaris 的熔断能力提供了标准的熔断实现,并提供服务级、接口级、节点级三种熔断级别,可以根据需求组合搭配,来实现期望的熔断效果。
  • 操作场景: 本文介绍在本地开发 Java 应用,通过 Spring Cloud的方式接入 TSE 治理中心(北极星网格),并实现服务路由。
  • 操作场景: 本文通过一个 demo 进行 gRPC-Java 应用接入微服务引擎托管的 PolarisMesh 治理中心的全流程操作演示,帮助您快速了解如何使用北极星网格。
  • 功能概述: Spring Cloud Tencent 支持 Java Agent 的方式进行接入。对于 Spring Cloud 应用(原生 Spring Cloud 应用或者其他 Spring Cloud 扩展的应用),可以不用对应用代码及依赖进行任何变更的情况下,即可使用 Spring Cloud Tencent 的功能。
  • 功能概述: Spring Cloud Tencent 的 Java Agent 支持针对容器部署的应用以及虚拟机部署的应用进行注入。对于 Spring Cloud 应用(原生 Spring Cloud 应用或者其他 Spring Cloud 扩展的应用),可以不用对应用代码及依赖进行任何变更的情况下,即可使用 Spring Cloud Tencent 的功能。下文将分别对容器场景和虚机场景的使用方法进行说明。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部