当前位置 : 主页 > 编程语言 > java >

限流笔记

来源:互联网 收集:自由互联 发布时间:2023-09-03
Nginx限流 1.控制速率(突发流量) 参考漏桶算法(桶有固定大小,超过大小,多余请求会等待或抛弃) nginx配置 limit_req_zone:标识,表示设置一个请求的区域, 用于限制对指定资源的请

Nginx限流

1.控制速率(突发流量)

参考漏桶算法(桶有固定大小,超过大小,多余请求会等待或抛弃)

限流笔记_Nginx

nginx配置

限流笔记_限流_02

limit_req_zone:标识,表示设置一个请求的区域,用于限制对指定资源的请求频率

key:定义限流对象,binary_remote_addr就是一种key,基于客户端ip限流

Zone:定义共享存储区来存储访问信息,10m可以存储16wip地址访问信息

service1RateLimit:自定义标识

Rate:最大访问速率,rate=10r/s  表示每秒最多请求10个请求

lburst=20:相当于桶的大小

Nodelay:快速处理

2.控制并发连接数

限流笔记_微服务_03

limit_conn perip 20:对应的key是 $binary_remote_addr,表示限制单个IP同时最多能持有20个连接。

limit_conn perserver 100:对应的key是 $server_name,表示虚拟主机(server) 同时能处理并发连接的总数

3.网关限流

参考令牌桶算法

限流笔记_Nginx_04

yml配置文件中,微服务路由设置添加局部过滤器RequestRateLimiter

限流笔记_微服务_05

lkey-resolver :定义限流对象( ip 、路径、参数),需代码实现,使用spel表达式获取

lreplenishRate :令牌桶每秒填充平均速率。

lurstCapacity :令牌桶总容量。

上一篇:Springboot中实现组合模式
下一篇:没有了
网友评论