返回介绍

6 微服务算法

发布于 2024-09-08 16:02:26 字数 842 浏览 0 评论 0 收藏 0

6.1 限流算法

表格 1 限流算法比较

算法令牌桶算法漏洞算法
算法原理令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; 水桶满后水溢出(丢弃)。
特点结构:桶(存令牌) + 队列(存请求)。请求不被丢弃。缓存请求、匀速处理、多余的请求直接丢弃。
优点能够在限制数据的平均传输速率的同时允许某种程度的突发传输。漏桶算法能够强行限制数据的实时传输(处理)速率,对突发流量不做额外处理。

备注:漏桶和令牌桶算法最明显的区别就是是否允许突发流量(burst) 的处理,漏洞算法会丢弃超量请求。nginx 的限流默认使用的是漏洞算法。

1574500815526

图 6 令牌桶算法

1574500834655

图 7 漏洞算法

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文