6

分散レート制限アルゴリズムを実装する必要がある価格設定プラットフォームに取り組んでいます。x個のサービスを提供するk 個のゲートウェイがあります。任意のゲートウェイで任意のサービスを提供できます (ロード バランサー経由)。顧客がサービスに対して 1 秒あたりのコール数を購入すると、そのコールは任意のゲートウェイを介してルーティングされる可能性があります。では、顧客の通話を制限するために、すべてのゲートウェイの通話カウンターを更新する優れたアルゴリズムを知っている人はいますか?

このアルゴリズムに関する 2 つの重要な指標は、ネットワークのオーバーヘッドと、受け入れられた呼び出しの数とレート制限の間の偏差です。

ありがとう!

編集 「よく知られている」アルゴリズムがあるかどうか知りたいだけです。

4

1 に答える 1

4

この記事(archive.org)に基づいて解決策を実装しました。アルゴリズムはLeaky Bucketと呼ばれていると思いますが、問題なく動作します。クォータ全体をバーストで使用できるため、完全ではありませんが、node.js と Redis を使用すると全体的に非常に高速です。受け入れられたリクエストとレートの差は非常に大きくなる可能性があり、サンプル ウィンドウとバケット サイズの比率によって異なります。

于 2012-11-17T08:30:41.653 に答える