gpt4 book ai didi

algorithm - throttle 请求的速率限制算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:42 25 4
gpt4 key购买 nike

我需要设计一个速率限制器服务来限制请求。对于每个传入请求,方法将检查每秒请求数是否超过其限制。如果超过了,它将返回等待处理所需的时间量。

寻找一个简单的解决方案,它只使用系统滴答计数和 rps(每秒请求数)。不应使用队列或复杂的速率限制算法和数据结构。

编辑:我将在 C++ 中实现它。另外请注意,我不想使用任何数据结构来存储当前正在执行的请求。API 会是这样的:

如果(!RateLimiter.Limit()) { 做工作 RateLimiter.Done();

} 别的 拒绝请求

最佳答案

最常用的算法是 token bucket .无需发明新事物,只需搜索您的技术/语言的实现即可。

如果您的应用具有高可用性/负载平衡,您可能希望将存储桶信息保存在某种持久性存储中。 Redis 是一个很好的选择。

我写了Limitd是一种不同的方法,是限制的守护进程。应用程序使用受限客户端询问守护进程流量是否一致。该限制是在 limitd 服务器上配置的,应用程序对算法是不可知的。

关于algorithm - throttle 请求的速率限制算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26647166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com