令牌桶具有以下特点:
- 根据限流大小定速往令牌桶里放令牌 。
- 如果令牌数量超过令牌桶容量的限制就丢弃令牌 。
- 每一个请求首先去令牌桶拿令牌,拿到令牌就处理请求 , 拿不到令牌就直接拒绝 。
文章插图
Part 08 小结 最后我们对上述四种限流算法进行一下简单的总结 。
固定窗口算法实现简单,但是流量曲线不够平滑有突刺现象,在窗口切换时可能会产生两倍阈值流量的临界问题 。滑动窗口算法作为固定窗口算法的一种改进,有效解决了窗口切换时的临界问题 。阿里开源的流量控制框架Sentinel就是基于滑动窗口实现的 。
漏桶算法能够对流量起到平滑整流的作用,让随机不确定的流量以固定的速率流出,但是不能解决流量突发问题 。令牌桶算法能够在限制数据的平均传输速率的同时还允许某种程度的突发传输 。Guava的RateLimiter限流组件,就是基于令牌桶算法实现的 。
推荐阅读
- 掌握Linux系统调用接口:深入理解系统功能
- 向量数据库简介和五个常用的开源项目介绍
- 在 Linux 文件系统中使用 attr 添加扩展属性
- 常用保存鸡蛋的三种方式 保存鸡蛋有哪些注意事项
- 民间常用的“催情”食谱
- 增值业务费是什么 增值业务费是什么费用,可以取消吗
- 常用的保鲜方法 常见的保鲜方法有哪些
- 生活中食物保鲜的常用方法
- 家里冰箱常用的除臭剂是什么 家里冰箱常用的除臭剂叫什么
- 请问房地产评估公司能办那些业务 房地产评估公司设立条件