Nginx 限流熔断

本文介绍了Nginx中用于限流的令牌桶和漏桶算法,这两种算法分别适用于不同的流量控制场景。令牌桶算法允许一定程度的突发流量,适合处理瞬时高流量;漏桶算法则强制限制处理速率,对突发流量不作处理。Nginx配置示例中使用了漏桶算法,确保请求以恒定速率处理,防止过载。了解这些算法对于优化服务性能和稳定性至关重要。
摘要由CSDN通过智能技术生成

nginx 限流熔断

令牌桶算法

  • 思想 :
    • 令牌以固定速率产生 , 并缓存到令牌桶中
    • 令牌桶放慢时 , 多余的令牌被丢弃
    • 请求要消耗等比例的令牌才能被处理
    • 令牌不够时, 请求被缓存

漏桶算法

  • 思想 :
    • 将请求放入 “漏桶” 中 , “漏桶” 中的请求 “依次” 被处理
    • “漏桶” 中的请求按固定速率被处理
    • 当 “漏桶” 未满时 , 将发送而来的请求,缓存进 “漏桶” , 当 “漏桶” 满后 , 再发送而来的请求不做处理(丢弃)
  • [缓存请求、匀速处理、多余的请求直接丢弃]
  • 令牌算法与漏桶的差异 :
    • 令牌桶算法 需要具有"桶"与队列 , "桶"用来存放请求 , 队列用来存放请求
    • 令牌桶算法能够很好应对处理突发流量
    • 漏桶算法可以强行限制数据的实时传输速率,对突发流量不做处理,而令牌桶算法可以在限制数据的平均的平均传输速率的同事允许某种程度上的突发速率

Nginx 按请求速率限速模块使用的是漏桶算法 , 在能保证请求的实时处理速度的情况下不超过阈值

Nginx 配置示例

http {
 limit_req_zone $binary_remote_addr zone=ip_limit:10m rate=10r/s;

 ...

 server {

 ...

 location /download/ {
 limit_req zone=ip_limit burst=15 nodelay;
 }

参考网址 : Nginx限流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值