2

Python (twisted) アプリケーションに時間ベースのクォータを実装する必要があります。

参照として使用すべき既存のモジュールまたはその他の実装はありますか?

具体的には、私のアプリケーションは、「1 分あたり 10 接続」などのルールを使用して、クライアントからの接続をレート制限する必要があります。

私のニーズに合った「タスクキュー」という名前の Google App Engine モジュールがありますが、GAE は使用していません。

ありがとうございました。

編集:

  • プラットフォームは Linux です
  • re: iptables; アプリケーション b/.c にある必要があります。クォータはソース IP アドレスではなく、アプリケーション固有のデータ (「clientid」など) に基づいています。
4

1 に答える 1

1

既製のコンポーネントについては知りませんが、これを行うのはかなり簡単なはずです。

おそらく、ユーザー ID とタイムスタンプの 2 つの列を含むデータベース テーブルを使用するでしょう。ユーザー (IP アドレス?) が接続を要求するたびに、現在から 60 秒前までのタイムスタンプを持つそのユーザー ID を持つすべてのエントリを見つけます。制限を下回っている場合は、エントリを追加して接続を許可します。そうしないと、接続が拒否されます。

于 2011-06-09T00:47:35.030 に答える