複数のサーバーへのリクエストをレート制限できるレート リミッター システムを作成したいと考えています。このために、すべてのサーバーがこれらのカウンターをチェックおよび更新できるように、カウンター (IP アドレスごとに 1 つのカウンター) を作成したいと考えています。
私の質問: 最善のアプローチは何ですか。1 つのマップを作成し、クライアントの IP アドレスをキーとして使用し、その IP のカウンターは Java オブジェクトになります。そのオブジェクトはマップ エントリの値になります。
また
各 IP アドレスのマップを作成し、カウンター名をキーとして使用し、カウンター値をエントリの値 (int) として使用します。
私の最優先事項はスピードです。カウンター オブジェクトの取得とインクリメントは、非常に高速に行う必要があります。
それで何が一番いいの?多数の小さな地図か、1 つの大きな地図か?
誰かがこれで私を助けてくれることを願っています。
よろしく、
マールテン