ロードバランサーサーバー

TsgcWebSocketLoadBalancerServer — ランダムまたは最少接続数アルゴリズムを使用して WebSocket および HTTP 接続をバックエンドサーバープールに分散します。バックアップサーバーはロードバランサーに自動登録され、オプションの自動再起動ウォッチドッグを通じて接続を維持します。

TsgcWebSocketLoadBalancerServer

sgcWebSockets バックエンド専用のスティッキーセッション対応ロードバランサー。バックエンドは組み込みの LoadBalancer プロパティを通じて自己登録します。

コンポーネントクラス

TsgcWebSocketLoadBalancerServer

プロトコル

WebSocket / HTTP — RFC 6455

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Enterprise

コンポーネントを配置してプロパティを設定し、実行する

TsgcWebSocketLoadBalancerServer を配置し、TLS ポートをバインドして、バックエンドをそこに向けます。

uses
  sgcWebSocket_LoadBalancer_Server;

var
  LB: TsgcWebSocketLoadBalancerServer;
begin
  LB := TsgcWebSocketLoadBalancerServer.Create(nil);
  LB.Port := 443;
  LB.SSL := True;
  LB.SSLOptions.CertFile := 'server.pem';
  LB.SSLOptions.KeyFile  := 'server.key';

  // Each backend server registers itself by setting LoadBalancer on its own server component
  LB.OnServerConnect    := LBServerConnect;
  LB.OnServerDisconnect := LBServerDisconnect;

  LB.Active := True;
end;

主な機能

公開プロパティ 18 件、メソッド 9 件、イベント 22 件(コンポーネントリファレンスより)。

接続

Published properties: Active, Port, Bindings.

メッセージング

Methods: Broadcast, WriteData, Ping.

信頼性

Published properties: LoadBalancer, FallBack.

セキュリティ

Published properties: SSL, SSLOptions, SecurityOptions.

ライフサイクル

Events: OnConnect, OnDisconnect, OnHandshake.

データ

Events: OnMessage, OnBinary, OnFragmented.

仕様と参考資料

このコンポーネントが実装するプロトコルの一次資料です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。

オンラインヘルプ — TsgcWebSocketLoadBalancerServer 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — 01.WebSocket\05.LoadBalancer すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次資料への参照を収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

WebSocket サーバーをスケールアウトする

体験版をダウンロードして、数分でロードバランサー配下で sgcWebSockets を稼働させましょう。