我需要設計速率限制器限制服務來限制請求。 對於每個傳入請求,方法都會檢查每秒請求是否超出其限制。如果超過,它將返回需要等待處理的時間量。速率限制算法限制請求
尋找一個簡單的解決方案,它只是使用系統滴答計數和rps(請求每秒)。不應該使用隊列或複雜的速率限制算法和數據結構。
編輯:我將在C++中實現這一點。另外,請注意我不想使用任何數據結構來存儲當前執行的請求。 API會像:(!RateLimiter.Limit())
如果 { 做工作 RateLimiter.Done();
} 其他 拒絕請求
你打算如何衡量每個請求給系統帶來的負載? – CaldasGSM 2014-10-30 16:24:49
我不想測量負載。系統是一個非常低延遲的系統。所以只想限制費率。 – user3403260 2014-10-30 16:32:09
什麼是你正在談論的費率規格?請求/秒,請求/分鐘? – CaldasGSM 2014-10-30 16:35:37