令牌桶算法和漏斗算法的区别究竟是什么?

发布于 2022-09-12 02:42:09 字数 212 浏览 18 评论 0

在网上随便找一篇博客去了解令牌桶和漏斗的区别,基本都会说漏斗是匀速的,而令牌桶可以有效处理请求突增的情况,但是我看漏斗的原理里面也有水桶的概念呀,比如说水桶的大小是10,而rate是每秒2,那么在一瞬间我完全可以把水桶占满呀,后续会受到rate的限制,这不也是能够处理突增的情况吗?还是说我理解的不对。。还是说漏斗里面没有水桶,所谓的水桶就是排队,真正能单位时间处理的请求就是rate,类似于线程池一样的东西?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

∞觅青森が 2022-09-19 02:42:09

漏斗的特点是匀速,有突发请求时,即使性能允许也按固定的速率处理。

比如说水桶的大小是10,而rate是每秒2,那么在一瞬间我完全可以把水桶占满呀,后续会受到rate的限制

漏斗的 rate 限制了最大的处理速度(每秒2个),而漏斗的大小限制能排队的请求数量(最多10个请求在排队)。

同样的配置,对令牌桶来说,是桶的大小限制了最大的处理速度,而 rate 限制的是满负载时的处理速度。 如果某个时刻有 10 个令牌(前5秒都没请求),然后同时到达 10 个请求,是允许同时处理这 10 个请求的。

所以说,漏斗适合请求到达频率稳定、需要严格控制处理速率的场景,而令牌桶适合允许突发请求的情况。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文