Rate Limiter
TsgcWSRateLimiter ― サーバーエンドポイントを過剰なトラフィック、悪用、スクレイピングから保護する多機能レートリミッターコンポーネントです。3 つのアルゴリズム、4 つのスコープ、長期クォータ、標準準拠の HTTP 429 レスポンスに対応します。
TsgcWSRateLimiter ― サーバーエンドポイントを過剰なトラフィック、悪用、スクレイピングから保護する多機能レートリミッターコンポーネントです。3 つのアルゴリズム、4 つのスコープ、長期クォータ、標準準拠の HTTP 429 レスポンスに対応します。
トークンバケット方式のレートリミッターです。アタッチした任意の WebSocket または HTTP サーバーで、クライアントごと(または IP ごと)の 1 秒あたりリクエスト数を制限します。
TsgcWSRateLimiter
サーバーサイドのアドミッション制御 ― 任意の sgc サーバーにアタッチします。
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
レートとバーストを設定し、OnRateLimited をフックして、サーバーにアタッチします。
uses
sgcWebSocket, sgcWebSocket_Server, sgcRateLimiter;
var
RL: TsgcWSRateLimiter;
WSServer: TsgcWebSocketHTTPServer;
begin
RL := TsgcWSRateLimiter.Create(nil);
RL.RequestsPerSecond := 20;
RL.BurstSize := 50;
RL.OnRateLimited := DoRateLimited;
WSServer := TsgcWebSocketHTTPServer.Create(nil);
WSServer.Port := 80;
WSServer.RateLimiter := RL;
WSServer.Active := True;
end;
公開プロパティ 13 個、メソッド 12 個、イベント 3 個 ― コンポーネントリファレンスより。
公開プロパティ:Stats。
プロパティ:Enabled。
プロパティ:TokenBucket、SlidingWindow、FixedWindow。
プロパティ:PerIP、PerAPIKey、PerUser。
プロパティ:Response。
プロパティ:StorageFile。
コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。
| デモプロジェクト — 01.WebSocket\09.RateLimiter すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています — 下のリンクから体験版をダウンロードしてください。 | 開く | |
| 技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。 | 開く |