文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6 微服务算法
6.1 限流算法
表格 1 限流算法比较
算法 | 令牌桶算法 | 漏洞算法 |
---|---|---|
算法原理 | 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 | 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; 水桶满后水溢出(丢弃)。 |
特点 | 结构:桶(存令牌) + 队列(存请求)。请求不被丢弃。 | 缓存请求、匀速处理、多余的请求直接丢弃。 |
优点 | 能够在限制数据的平均传输速率的同时允许某种程度的突发传输。 | 漏桶算法能够强行限制数据的实时传输(处理)速率,对突发流量不做额外处理。 |
备注:漏桶和令牌桶算法最明显的区别就是是否允许突发流量(burst) 的处理,漏洞算法会丢弃超量请求。nginx 的限流默认使用的是漏洞算法。
图 6 令牌桶算法
图 7 漏洞算法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论