https://blog.csdn.net/weixin_41047704/article/details/93483160
在使用spring-cloud-gateway时,可以配置请求限流;该限流基于redis实现, 用法如下
spring:
cloud:
gateway:
routes:
- id:requestratelimiter_route
uri:http://example.org
filters:
- name:RequestRateLimiter
args:
redis-rate-limiter.replenishRate:10 #允许用户每秒执行多少请求,而不会丢弃任何请求。这是令牌桶填充的速率。
redis-rate-limiter.burstCapacity:20 #一秒钟内允许执行的最大请求数。这是令牌桶可以容纳的令牌数。将此值设置为零将阻止所有请求。
key-resolver: "#{@userkeyResolver}" #根据关键字标识的限流
配置Gateway,普通的websocket用下面的配置,这里用上面这个配置就可以了
- id: spring-cloud-client-demo3
uri: lb://spring-cloud-client-demo
predicates:
- Path=/websocket/**
filters:
- StripPrefix=1
- id: spring-cloud-client-demo4
uri: lb:ws://spring-cloud-client-demo
predicates:
- Path=/websocket/**