Zuul实现限流
首先我们需要以下这个依赖
<dependency>
<groupId>com.marcosbarbero.cloud</groupId>
<artifactId>spring-cloud-zuul-ratelimit</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
这个依赖在GitHub是个开源的
https://github.com/marcosbarbero/spring-cloud-zuul-ratelimit
这个依赖支持的限流存储方式有
这里我们使用Redis
要用redis所以要引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置信息
zuul:
#不忽略任何头部信息,所有header都转发到下游的资源服务器
sensitive-headers: '*'
add-host-header: true #加上主机头信息
ratelimit:
# 存在redis的键前缀
key-prefix: ratlimit
# 开启限流
enabled: true
# 存储方式
repository: REDIS
# 限流策略
policies:
# 指定限流服务 这里填写是你的微服务的服务名
your-service:
# 每个周期内请求次数
limit: 3
# 单位时间内允许访问的总时间
quota: 30
# 周期时间
refresh-interval: 60
# 限流方式 USER 根据用户;ORIGIN 原始请求;URL 请求地址;
type:
- user
- origin
- url
支持限流方式
到这里就已经完成了
一键查询淘宝/拼多多内部优惠券,每日大额外卖红包,购物省钱的宝藏工具