文档章节

zuul进行rate limit

go4it
 go4it
发布于 2017/04/09 15:22
字数 241
阅读 207
收藏 1
点赞 0
评论 0

##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优先级最高

RateLimitFilter com/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

© 著作权归作者所有

共有 人打赏支持
go4it
粉丝 50
博文 671
码字总数 468409
作品 0
深圳
Zuul:构建高可用网关之多维度限流

对请求的目标URL进行限流(例如:某个URL每分钟只允许调用多少次) 对客户端的访问IP进行限流(例如:某个IP每分钟只允许请求多少次) 对某些特定用户或者用户组进行限流(例如:非VIP用户限...

冷冷gg
2017/12/01
0
6
Cisco UBR10012使用DRL保护cpu,防止high cpu问题

Cisco UBR10012在日常维护的过程中出现high cpu问题,经检查是DHCPD Receive进程占用过高。 说明设备受到了过量的DHCP报文,为避免影响正常业务流量,配置DRL(Divert Rate Limit)对 UBR100...

anrbin
2017/05/16
0
0
cisco对某一IP的限速

只有支持思科快速转发(CEF)的路由器或者交换机才能用rate-limit限制流量 一、全局开始CEF Router(conf)#ip cef 二、定义标准或者扩展访问列表 Router(conf)#access-list 111 permit ip 192...

aloofcn
2013/07/24
0
0
nginx中http核心模块的配置指令2

internal:配置知道的location只能用于内部请求访问,如果外部请求访问到该location,则返回404错误 keepalive_disable none | browser ...:配置禁止指定的浏览器使用保持keep-alive连接,默...

rick009
2015/08/13
0
0
华为各系列交换机限速配置

最近这段时间,因为工作内容的原因,打算研究研究各种设备的限速过程,并做好记录,也方便之后配置时参考。 华为交换机的限速配置,目前工作上接触到的大多为针对端口,配置指令大多也与lin...

Iree_liu
2017/07/26
0
0
cisco ASA 551X系列防火墙限速

asa 551X 网络限速 对整个网段限速 也可对单个ip 实例中为对网段限速4M asa846-k8.bin 测试ok object-group network rate_limit network-object 192.168.0.0 255.255.255.0 access-list rat......

rewardhunter
06/26
0
0
Nginx模块开发(10)—limit_req模块分析

1、命令简介 http{ limitreqzone $binaryremoteaddr zone=one:10m rate=1r/s; server { location /{ limit_req zone=one burst=5 nodelay; } } } limitreqzone 语法:limitreqzone $session......

书一
2012/11/12
0
0
通过 X-Forwarded-For 头信息来设置 Nginx 的并发限制

一般我们是通过如下配置来限制 Nginx 对客户端访问的并发: limitreqzone $binaryremoteaddr zone=zone:16m rate=1r/s; 但如果在一些复杂的环境下,例如 Nginx 前端还有 CDN 或者是高防服务的...

红薯
2015/11/03
2.7K
3
交换机ACL配置

这里的CLI以今天的DUT为准,可能跟思科的命令略有不同,不过大致思路还是相同的。 设置模式下以(conf)#表示,响应ACL模式下以(aclname)#表示,某个端口内的设置用(if-e0/1/1)表示 1、建立ACL...

qdxiaoliu
2014/05/09
0
0
Nginx严格访问代理HTTP资源

1 严格访问 访问能基于客户端的IP地址允许或拒绝或使用基于HTTP验证。 为了允许或拒绝从某个地址及或所有地址的访问,使用allow和deny指令: location / { deny 192.168.1.2; allow 192.168...

Leech
2016/08/08
23
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
23分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
38分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
145
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部