我需要为节流请求设计一个速率限制器服务。对于每个传入的请求,方法将检查每秒的请求是否超过其限制。如果已超过,它将返回等待处理的时间。
寻找一种简单的解决方案,仅使用系统刻度计数和rps(每秒请求数)。不应使用队列或复杂的速率限制算法和数据结构。
编辑:我将在C ++中实现。另外,请注意,我不想使用任何数据结构来存储当前正在执行的请求。API将如下所示:
如果(!RateLimiter.Limit()){做RateLimiter.Done();
} else拒绝请求
algorithm service throttling rate-limiting
algorithm ×1
rate-limiting ×1
service ×1
throttling ×1