首页 > 代码库 > zuul进行rate limit
zuul进行rate limit
maven
<dependency> <groupId>com.marcosbarbero.cloud</groupId> <artifactId>spring-cloud-zuul-ratelimit</artifactId> <version>1.0.7.RELEASE</version> </dependency>
配置
product: ribbon: listOfServers: 192.168.99.100:8080 zuul: routes: product: path: /product/** stripPrefix: false ratelimit: enabled: true #default false behind-proxy: true #default false policies: product: limit: 10 refresh-interval: 120 #60 default value (in seconds) type: #optional - user - origin - url spring: redis: timeout: 10 database: 0 host: 192.168.99.100 port: 6379 pool: max-active: 8 max-idle: 8 max-wait: -1 min-idle: 0
filterOrder
类似spring-core-4.3.4.RELEASE-sources.jar!/org/springframework/core/Ordered.java
/**
* Useful constant for the highest precedence value.
* @see java.lang.Integer#MIN_VALUE
*/
int HIGHEST_PRECEDENCE = Integer.MIN_VALUE;
/**
* Useful constant for the lowest precedence value.
* @see java.lang.Integer#MAX_VALUE
*/
int LOWEST_PRECEDENCE = Integer.MAX_VALUE;
默认越小优先级越高,排查负数的情况下,0优先级最高
RateLimitFiltercom/marcosbarbero/zuul/filters/pre/ratelimit/RateLimitFilter.java
它的order为-1,表示更先执行
测试
wrk -t12 -c100 -d10s -T30s --latency http://localhost:8080/product
限流结果:
workspace curl -i http://localhost:8080/product\?debug=true
HTTP/1.1 429
X-Application-Context: application
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 13000
Content-Length: 0
Date: Sun, 09 Apr 2017 06:44:02 GMT
doc
-
spring-cloud-starter-zuul-ratelimit
-
高并发系统限流中的漏桶算法和令牌桶算法,通过流量整形和速率限制提升稳定性
zuul进行rate limit
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。