10.2. グループ化 API
グループ化 API により、各エントリーがエントリーの計算されたハッシュコードに対応するノードに保存されるデフォルト動作とは異なり、エントリーのグループを同じノード上に共存させることができます。デフォルトで、JBoss Data Grid はキーの保存時に各キーのハッシュコードを取り、そのキーをハッシュセグメントにマップします。これにより、キーを含むノードを判別するためにアルゴリズムが使用され、クラスター内の各ノードが、所有権情報を配信しなくてもキーを含むノードを識別できます。この動作により、ノードの失敗時に所有権情報のレプリケートが不要になるため、オーバーヘッドや重複が削減されます。
グループ化 API を有効にすることで、エントリーを保存するノードを決定する際にキーのハッシュが無視されます。代わりに、グループのハッシュが取得および使用されます。その際、キーのハッシュはパフォーマンスの低下を防ぐために内部で使用されます。グループ API が使用される場合、すべてのノードはキーの所有者を依然として判別できます。そのため、グループは手動で指定できません。グループは、キークラスで生成されるエントリー固有のものか、または外部関数で生成される、エントリーの外部の値によって決められる可能性があります。
グループ化 API の有効化
グループ化 API は、以下の例にあるように groups
要素を追加することにより、キャッシュごとに有効にすることができます。
<distributed-cache> <groups enabled="true"/> </distributed-cache>
外部グループの定義
カスタム Grouper
が存在することを仮定した場合、以下のようにクラス名を渡すことによって定義できます。
<distributed-cache> <groups enabled="true"> <grouper class="com.acme.KXGrouper" /> </groups> </distributed-cache>