spring-cloud-zuul-ratelimit 配置


 

1、 添加spring-cloud-zuul-ratelimit依賴。

<dependency>
    <groupId>com.marcosbarbero.cloud</groupId>
    <artifactId>spring-cloud-zuul-ratelimit</artifactId>
    <version>1.3.2.RELEASE</version>

 

2、 全局限流配置

#全局限流:
zuul.ratelimit.enabled=true
zuul.ratelimit.behind-proxy=true
zuul.ratelimit.repository=REDIS
zuul.ratelimit.add-response-headers=true
zuul.ratelimit.default-policy.limit=7
zuul.ratelimit.default-policy.quota=1000
zuul.ratelimit.default-policy.refresh-interval=60
zuul.ratelimit.default-policy.type=origin

 

3、 特定服務限流配置

#局部限流:針對某個服務進行限流

#60s 內請求超過 3 次,服務端就拋出異常,60s 后可以恢復正常請求
zuul.ratelimit.policies.api-b.limit=3
zuul.ratelimit.policies.api-b.quota = 1000
zuul.ratelimit.policies.api-b.refresh-interval=60
#針對某個 IP 進行限流,不影響其他 IP
zuul.ratelimit.policies.api-b.type=origin

 4,完整示例:

 

 

 

 

 

server.port=9527

spring.application.name=gateway

eureka.client.serviceUrl.defaultZone=http://localhost:6660/eureka/
eureka.instance.instance-id = gateway-9527.com
eureka.instance.prefer-ip-address=true

zuul.routes.api-a.path =/aaaa/**
zuul.routes.api-a.service-id =saas

zuul.routes.api-b.path =/bbbb/**
zuul.routes.api-b.service-id =lula

#全局限流:
zuul.ratelimit.enabled=true
zuul.ratelimit.behind-proxy=true
zuul.ratelimit.repository=REDIS
zuul.ratelimit.add-response-headers=true
zuul.ratelimit.default-policy.limit=7
zuul.ratelimit.default-policy.quota=1000
zuul.ratelimit.default-policy.refresh-interval=60
zuul.ratelimit.default-policy.type=origin


#局部限流:針對某個服務進行限流

#60s 內請求超過 3 次,服務端就拋出異常,60s 后可以恢復正常請求
zuul.ratelimit.policies.api-b.limit=3
zuul.ratelimit.policies.api-b.quota = 1000
zuul.ratelimit.policies.api-b.refresh-interval=60
#針對某個 IP 進行限流,不影響其他 IP
zuul.ratelimit.policies.api-b.type=origin



# Redis數據庫索引(默認為0)
spring.redis.database=0
# Redis服務器地址
spring.redis.host=localhost
# Redis服務器連接端口
spring.redis.port=6379
# Redis服務器連接密碼(默認為空)
spring.redis.password=




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM