限流常用的策略及算法

限流是保护系统稳定性的关键手段,包括拒绝服务、服务降级、优先级请求、延时处理和弹性伸缩等策略。漏桶和令牌桶算法是常见的限流算法,Guava和golang.org/x/time/rate提供了相应的实现。Sentinel是阿里巴巴的限流框架,支持Java、C++和Go,提供流量控制、熔断降级等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

限流

限流在分布式和微服务系统中非常常用的设计思想,在出现流量洪峰或者恶意攻击时,限流能够保护系统的服务能够正常运行。

 

 

限流策略

   1.拒绝服务:把多出来的请求拒绝掉

   2.服务降级:关闭或把后端做降级处理,释放资源给主流程服务

   3.优先级请求:将目前系统的资源分配给优先级更高的用户,优先处理权限更高的用户请求

   4.延时处理:一般来说会使用缓冲队列来缓冲大量的请求,系统根据自身负载能力异步消费队列中的请求

   5.弹性伸缩:采用自动化运维的方式对相应的服务做自动化伸缩

 

常用的限流算法

   常见的限流算法有:漏桶、令牌桶。计数器也可以用来进行粗暴限流实现。

 

1.漏桶算法:

   漏桶算法的基本思想是:利用一个缓冲区ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值