20.3. サーバーモジュール
そこで、Red Hat Data Grid をクライアントサーバーモードでデプロイすると適切であれば、どのようなソリューションを利用できるのでしょうか?すべての Red Hat Data Grid サーバーモジュールは、サーバーバックエンドが埋め込み Red Hat Data Grid インスタンスを作成するのと同じパターンをベースにしています。複数のバックエンドを起動した場合には、クラスターを形成し、設定している場合はクラスターを共有/分散することができます。以下のサーバータイプは、主に受信接続を処理するために使用されるリスナーエンドポイントのタイプによって異なります。
利用可能なサーバーエンドポイントの概要を以下に示します。
hot 336 サーバーモジュール: このモジュールは、クライアントが動的負荷分散とフェイルオーバー、およびスマートルーティングを実行できるようにする Red Hat Data Grid がサポートする Hotgitops バイナリープロトコル の実装です。
- このプロトコルには さまざまなクライアント が存在します。
- クライアントが Java を実行している場合は、動的負荷分散とフェイルオーバーを可能にするため、これは事実上のサーバーモジュールの選択になります。これは、これらがクラスター化されている限り、Hot336 クライアントが Hotgitops サーバーのトポロジーの変更を動的に検出できるため、新規ノードが参加または退出すると、クライアントが Hotgitops サーバートポロジービューを更新します。その上で、Hotfsprogs サーバーがディストリビューションで設定されていると、クライアントは特定のキーの場所を検出できるため、リクエストをスマートにルーティングできます。
- 負荷分散とフェイルオーバーは、サーバーによって提供される情報を使用して HotTEMPLATES クライアント実装によって動的に提供されます。
REST Server モジュール - WAR ファイルとして配布される REST サーバーをサーブレットコンテナーにデプロイし、Red Hat Data Grid を RESTful HTTP インターフェース経由でアクセスできるようにします。
- これに接続するには、そこから任意の HTTP クライアントを使用し、非常に多くの言語やシステムで利用できる異なるクライアント実装を利用できます。
- このモジュールは、クライアントとサーバー間で許可されるアクセスメソッドが HTTP ポートである環境に対して特に推奨されます。
- 異なる Red Hat Data Grid REST サーバー間で負荷分散またはフェイルオーバーを行うクライアントは、mod_cluster などの標準の HTTP ロードバランサーを使用して実行できます。これらのロードバランサーがバックエンドでサーバーの静的ビューを維持し、新規サーバーを追加する必要がある場合は、ロードバランサーを手動で更新する必要があります。
Memcached サーバーモジュール: このモジュールは、Red Hat Data Grid がサポートする Memcached テキストプロトコル の実装です。
- これに接続するには、非常に多くの 既存の Memcached クライアント を使用できます。
- Memcached サーバーとは対照的に、Red Hat Data Grid ベースの Memcached サーバーを実際にクラスター化できるため、クラスター全体で一貫性のあるハッシュアルゴリズムを使用してデータの複製や分散が可能です。そのため、このモジュールは、Memcached サーバーに保存されているデータにフェイルオーバー機能を提供するユーザーに特に関係しています。
- 負荷分散とフェイルオーバーの観点では、サーバーアドレスの静的リスト(perl の Cache::Memcached など)を指定すると負荷分散やフェイルオーバーが可能なクライアントがいくつかありますが、サーバーの追加または削除には手動による介入が必要です。