项目中有没有做过限流,怎么做?(限流常见的算法?)

限流的实现方式

重点说的Nginx和网关

Nginx限流

在Nginx中提供了两种限流的方式:控制速率(突发流量)和控制并发的连接数

控制速率(突发流量)

使用漏桶算法实现限流

漏桶算法的工作方式看下图那个桶:

漏桶上方的水滴代表请求的数量,在桶里面存储的就是请求,然后漏桶以固定的速率漏出请求;

注意:这个桶有固定大小,比如最多只能存储100个请求,超出的请求会让它等待或直接抛弃。

接下来看如何配置:

控制并发的连接数

在微服务中网关的限流

限流思想采用令牌桶:

首先:令牌桶中存储的是令牌,以固定的速率生成令牌,存入令牌桶中,桶满后暂停生成。

当请求来的时候,需要到桶中申请令牌,请求申请到令牌才会被服务处理,但请求没有申请到令牌,就会被阻塞或丢弃。

接下来看配置:

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值