go 限流方案

当并发数达到我们服务的阈值的时候,我们可以通过限流的方式保证服务可用性。

常见的限流方法:

  1. 使用带缓冲的chann,当chan塞满以后,拒绝服务或者给一个友好的提示或跳转到一个友好的页面等。

  2. 计数器,在10秒内只接受100 请求,当超过100请求后,拒绝服务,当超过10秒后,计数归零,重新接受请求。

  3. 使用httpserver的频率限制,无需自己实现。

  4. 令牌桶算法:以恒定的速度往令牌桶中放入令牌,当有请求过来则从令牌桶中获取令牌进行后续请求,当获取令牌失败后则进行友好处理。

  

 

  5. 漏桶算法:请求先进入到漏桶里,而漏桶以固定的速率处理请求,当请求数量超过漏桶的容量时,将超出的请求进行友好处理,不适合突发请求场景。

  

  上面两种令牌的算法区别:漏桶算法,能够强行限制传输速率,令牌桶算法:能够限制平均传输速率,允许某种突发情况。

 

转载于:https://www.cnblogs.com/hcy-fly/p/10832948.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值