着信HTTPリクエストを処理するスケーラブルプロキシ(Linux/C/C++、Nginxモジュール、またはカスタムHTTPサーバー)を開発し、着信リクエスト自体に含まれるパラメーター(IP、たとえば、時間)または外部要因(したがって、外部要因を取得できるNginxモジュールを使用します)。
ただし、注意が必要なのはクォータに関することです。たとえば、1日の割り当てが超過したときに、IPから発信されたプロキシ要求をブロックできればと思います。
クォータの実装は難しくありません。ただし、クォータを分散環境(理想的にはすべてが共有されている-何もない)で機能させることは簡単ではありません。実際、クォータ状態はすべての分散プロセスで共有して、続行する必要があるかどうかを知る必要があります。中央クォータハンドラーを持つということは、ロックを使用することを意味します。これは、パフォーマンスがすぐに落ちると思います。プロキシ要求が処理されるたびにクォータステータスをロックすることは、私には解決策のようには見えません。
ヒントはありますか?
分散Erlang/OTPを試してみることができます。プロキシロジックはErlangで記述します。
Mnesiaテーブルで「クォータ」を維持できます。 Mnesiaは、ネットワーク全体のさまざまなErlangノードに分散できます。読み取りまたは書き込み中にテーブルをロックする必要があるかどうかを制御することもできます。