pom.xml配置如下:
<spring.zuul.limit.version>1.3.4.RELEASE</spring.zuul.limit.version>
<!--zuul整合提供分佈式限流策略的擴展-->
<dependency>
<groupId>com.marcosbarbero.cloud</groupId>
<artifactId>spring-cloud-zuul-ratelimit</artifactId>
<version>${spring.zuul.limit.version}</version>
</dependency>
yml配置:
zuul:
ratelimit:
enabled: true #開啓限流
repository: REDIS #啓用redis存儲 默認爲內存存儲,總共有 內容,redis Consul Bucket4j Spring Data ConcurrentHashMap(內存)
behind-proxy: true
default-policy: #默認全局配置
limit: 10 #請求次數
quota: 4 #每次請求限制秒速
refresh-interval: 10 #多少秒內限制
type: URL #根據什麼限流 ORIGIN:根據ip地址區分 USER:是通過登錄用戶名進行區分,也包括匿名用戶 URL:根據請求路徑區分
SendErrorFilter:
post:
disable: true
我這邊配置說明爲,全部的服務默認爲 10秒內最多請求10次,每次請求時間不能超過4秒鐘
更多配置看git: