- Leaky bucket : キューイングして出力量(consume)で調節 (アルゴリズムというかキューを使って調節)
- Token bucket : 定期的に資源を追加し平均値を調節。バーストに強い (ソシャゲのスタミナ回復)
- Fixed window counters : 単位時間あたりの上限値を指定。キューを使わないLeaky bucket。境界の2倍問題あり
- Sliding window log : 総数(counters)でなくアクセス時刻(log)で管理。境界問題を解消する一方、消費増加がぱない(
Int
→Array(Time)
) - Sliding window counters : countersのままで、単位時間の割合計算によって境界問題を解消。これにしておけば間違いない
- https://christina04.hatenablog.com/entry/rate-limiting-algorithm
- 日本語。メリットとデメリットも解説されており、デメリットを克服する形で次のアルゴリズムの説明に入るので、全体がわかりやすい