Rate Limiter

TsgcWSRateLimiter — 과도한 트래픽, 남용 및 스크래핑으로부터 서버 엔드포인트를 보호하는 완전한 기능의 속도 제한 컴포넌트예요. 세 가지 알고리즘, 네 가지 범위, 장기 할당량 및 표준 준수 HTTP 429 응답을 지원해요.

TsgcWSRateLimiter

토큰 버킷 속도 제한기예요. 연결하는 모든 WebSocket 또는 HTTP 서버에서 클라이언트당(또는 IP당) 초당 요청을 제한해요.

컴포넌트 클래스

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개 — 컴포넌트 레퍼런스에서 발췌했어요.

진단

Published properties: Stats.

핵심

Properties: Enabled.

알고리즘

Properties: TokenBucket, SlidingWindow, FixedWindow.

범위 지정

Properties: PerIP, PerAPIKey, PerUser.

응답

Properties: Response.

지속성

Properties: StorageFile.

문서 및 데모

컴포넌트 레퍼런스로 바로 이동하거나, 바로 실행 가능한 데모 프로젝트를 다운로드하고, 체험판을 받아 보세요.

Demo Project — 01.WebSocket\09.RateLimiter 바로 실행 가능한 예제 프로젝트예요. sgcWebSockets 패키지에 포함되어 있어요 — 아래에서 체험판을 다운로드하세요.
기술 문서 (PDF) Delphi 및 C++ Builder용 기능, 빠른 시작, 코드 샘플 및 기본 소스 참조 — 이 컴포넌트 전용이에요.
사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서예요.

엔드포인트를 남용으로부터 보호하세요

무료 체험판을 다운로드하고 몇 분 안에 sgcWebSockets 서버에 속도 제한을 적용해 보세요.