限流和算法(浅)

1.限流方式:Hystrix适用线程池隔离,超过线程池的负载,走熔断的逻辑。
tomcat容器也是通过限制它的线程数来控制并发的;
也有通过时间窗口的平均速度来控制流量。
常见的限流纬度有比如通过Ip来限流、通过uri来限流、通过用户访问频次来限流。
2.一般限流都是在网关这一层做,比如Nginx、zuul、Spring Cloud Gateway
3.限流的算法:
1.计数器算法:比如一秒内限流qps为100,过一秒从0开始记数,弊端是突刺现象:几毫秒就已经到100,剩下毫秒浪费了。
2.漏桶算法:可以准备一个队列,用来保存请求,另外通过一个线程池(ScheduledExecutorService)来定期从队列中获取请求并执行,可以一次性获取多个并发执行。
出去一个,放一个
这种算法,在使用过后也存在弊端:无法应对短时间的突发流量。
3.令牌桶算法: 桶算法能够限制请求调用的速率,而令牌桶算法能够在限制调用的平均速率的同时还允许一定程度的突发调用 。
令牌工厂—均匀的产生令牌----放入令牌桶中,每一个请求都要从桶里拿一个令牌再去请求,如果拿不到,就等待。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值