限流削峰——限流器的实现

什么是限流削峰

限流削峰是对服务端进行流量控制的常见手段,控制QPS上限以达到减轻服务端负担的目的。一个好的限流削峰方案应该实现以下三条原则:

  1. 对系统入侵性小,与业务充分解耦,以降低维护成本
  2. 使用合适的限流模型,达到流量QPS的精准控制
  3. 高性能,响应迅速,尽量降低业务请求在限流逻辑上所花费的时间

限流削峰模式

限流削峰总体来讲有两种模式。

一是针对单机的限流,这种限流模式一般针对单结点服务系统或者在多结点集群服务中作为结点的保护策略。这种模式下,限流算法只需要在内存中实现即可。

二是针对集群的限流,这种限流模式会在集群维度进行限流,保证进入集群的流量维持在某一上限之下。这种限流模式无关乎集群中节点的数量,限流上限并不会随着集群中节点的增减而弹性变化,通常来讲会作为满足特殊诉求存在,比如受到下游服务的承载能力制约,需要合理控制进入集群的流量,防止下游服务过载。这种模式下,限流算法需要结合一个集群中每个节点都能访问的存储中介去实现,一般来讲redis会充当这个中介。

限流模型

目前主流的限流模型主要有四种:

1. 固定时间窗模型

通过限制时间段内的请求通过数进行限流。

优点:限流逻辑简单,redis限流响应速度快。

缺点:流量限制不够精确,容易造成最大双倍QPS的误差,无法限制突发流量。

应用场景:大但均匀、突发变化较少的流量,需要快速限流响应。

2. 令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值