20.7.23. クライアントのインテリジェンス
クライアント情報とは、クライアントが Red Hat Data Grid サーバーにリクエストを見つけ、送信するための HotRod プロトコルのメカニズムを指します。
基本的な情報
クライアントは、Red Hat Data Grid クラスターやキーハッシュ値に関する情報を保存しません。
トポロジー対応
クライアントは Red Hat Data Grid クラスターについての情報を受信して保存します。クライアントは、サーバーがクラスターに参加したり離脱したりするたびに変更するクラスタートポロジーの内部マッピングを維持します。
クラスタートポロジーを受信するには、クライアントが少なくとも 1 つの Hot336 サーバーのアドレス(IP:HOST)が必要になります。クライアントがサーバーに接続すると、Red Hat Data Grid はトポロジーをクライアントに送信します。サーバーがクラスターに参加または退出すると、Red Hat Data Grid は更新されたトポロジーをクライアントに送信します。
distribution-aware
クライアントはトポロジーに対応し、キーの一貫したハッシュ値を保存します。
たとえば、put(k,v) 操作を実行します。クライアントは、データが存在する正確なサーバーを見つけることができるように、キーのハッシュ値を計算します。その後、クライアントは所有者に直接接続して操作をディスパッチできます。
ディストリビューション対応の利点は、Red Hat Data Grid サーバーが、サーバー側でリソースが少ないキーハッシュに基づいて値を検索する必要がないことです。もう 1 つの利点は、サーバーが追加のネットワークラウンドトリップをスキップするため、クライアントの要求により迅速に応答するという点です。
20.7.23.1. バランシングの要求 リンクのコピーリンクがクリップボードにコピーされました!
トポロジー対応の情報を使用するクライアントは、すべてのリクエストに要求の分散を使用します。デフォルトの分散ストラテジーはラウンドロビンであるため、トポロジー対応のクライアントは常にラウンドロビン順でサーバーに要求を送信します。
たとえば、s1、s2、s3 は Red Hat Data Grid クラスターのサーバーです。クライアントは以下のように要求のバランシングを実行します。
ディストリビューション対応情報を使用するクライアントは、失敗したリクエストに対してのみ要求の分散を使用します。要求が失敗すると、ディストリビューション対応クライアントは次に利用可能なサーバーで要求を再試行します。
カスタムバランシングポリシー
FailoverRequestBalancingStrategy を実装し、hotrod-client.properties 設定でクラスを指定できます。