【项目实战】Spring Cloud Gateway中RequestRateLimiter限流过滤器介绍
2023-09-14 09:04:55 时间
一、Spring Cloud Gateway是什么?
Spring Cloud Gateway是一个基于Spring Boot的网关,用于处理HTTP请求。
它提供了许多功能,包括路由、过滤器和限流。
二、 RequestRateLimiter入门介绍
RequestRateLimiter是Spring Cloud Gateway中的一个过滤器,用于限制请求速率。
它使用基于令牌桶算法的限流器来限制请求速率。
您可以使用RequestRateLimiter来限制每秒钟处理的请求数,或者限制每秒钟处理的字节数。
使用Spring Cloud Gateway的示例代码
spring:
cloud:
gateway:
routes:
- id: my_route
uri: http://example.com
predicates:
- Path=/my/path/**
filters:
- name: RequestRateLimiter
args:
key-resolver: "#{@userKeyResolver}"
redis-rate-limiter.replenishRate: 10
redis-rate-limiter.burstCapacity: 20
在上面的示例中,我们定义了一个名为“myroute”的路由,它将匹配所有以“/my/path/”开头的请求。我们还定义了一个名为“RequestRateLimiter”的过滤器,并将其添加到路由中。该过滤器使用RedisRateLimiter来限制请求速率。我们可以通过设置“redis-rate-limiter.replenishRate”和“redis-rate-limiter.burstCapacity”属性来配置限流器。
“redis-rate-limiter.replenishRate”表示每秒钟生成的令牌数,
“redis-rate-limiter.burstCapacity”表示令牌桶的容量。
相关文章
- Spring cloud的Maven插件(一):repackage目标
- spring-cloud: eureka之:ribbon负载均衡自定义配置(二)
- Spring Cloud Alibaba 开源之夏,最后 7 天倒计时
- Spring Boot Test(转)
- spring cloud 学习笔记 客户端(本地)均衡负载(三)
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失问题分析
- spring cloud 路由Zuul的高可用
- [Java Spring] Convertors
- Spring复杂的BeanFactory继承体系该如何理解?---中下
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用(六)
- 慕课10、API网关-Spring Cloud Gateway
- Spring Cloud Gateway限流详解
- spring cloud --- Ribbon 客户端负载均衡 + RestTemplate ---心得【无熔断器】
- 009-spring cloud gateway-过滤器GatewayFilter、GlobalFilter、GatewayFilterChain、作用、生命周期、GatewayFilterFactory内置过滤器
- 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载
- Spring Cloud Alibaba-Spring Cloud Gateway-API 网关-使用路由网关统一访问接口
- Spring Cloud Alibaba-Sentinel-使用熔断器仪表盘监控
- Spring Cloud Gateway过滤器工厂的使用
- Spring Cloud 学习笔记(1 / 3)
- 初识Spring Cloud(二) Hystrix+Feign+Zuul