8.4. レプリケーションモードの設定 (ライブラリーモード)

以下の手順は、Red Hat JBoss Data Grid のライブラリーモードでのレプリケーションモードの設定を示しています。

手順8.2 レプリケーションモードの設定

  1. クラスタリング要素の設定

    <clustering mode="replication">
            <sync replTimeout="${TIME}" />
            <stateTransfer chunkSize="${SIZE}"                       
                           fetchInMemoryState="{true/false}"                       
                           awaitInitialTransfer="{true/false}"                       
                           timeout="${TIME}" />
    1. clustering 要素の mode パラメーター値は、キャッシュに選択されたクラスタリングモードを決定します。
    2. sync 要素の replTimeout パラメーターは、リモート呼び出し後の確認に設定される最大の時間範囲 (ミリ秒単位) を指定します。この時間範囲が確認なしに終了する場合、例外がスローされます。
    3. stateTransfer 要素は、ノードがクラスターを脱退するか、またはクラスターに参加する際に状態がどのように転送されるかを指定します。これは以下のパラメーターを使用します。
      1. chunkSize パラメーターは、 1 つの塊で転送されるキャッシュエントリーの数です。デフォルトの chunkSize 値は 512 です。chunkSize は多くのパラメーター (エントリーのサイズなど) に基づき、最良の設定を探す必要があります。大きいキャッシュエントリーの値を変更するには、小さい塊が推奨されます。小さいキャッシュエントリーの場合は、chunkSize を増やすと、パフォーマンスが向上します。
      2. fetchInMemoryState パラメーターは、true に設定された場合、起動時に近接キャッシュから状態の情報を要求します。これは、キャッシュの起動時間に影響を与えます。キャッシュの不整合を回避する共有キャッシュストアがない場合は、デフォルト値を true に設定します。
      3. awaitInitialTransfer パラメーターにより、参加者ノードでのメソッド CacheManager.getCache() の最初の呼び出しがブロックされ、参加が完了し、キャッシュが近接キャッシュからの状態の受信を完了するまで待機します (fetchInMemoryState が有効な場合)。このオプションは、分散キャッシュとレプリケートされたキャッシュにのみ適用され、デフォルトで有効になります。
      4. timeout パラメーターは、要求された状態の近接キャッシュからの応答をキャッシュが待機する最大時間 (ミリ秒単位) を指定します。timeout 期間内に応答が受信されない場合、起動プロセスは中止され、例外がスローされます。状態転送に失敗した結果、キャッシュはインスタンスで利用できません。
  2. トランスポート設定の指定

    <global>
        <transport clusterName="${NAME}"
            distributedSyncTimeout="${TIME}"
            transportClass="${CLASS}" />
    </global>
    transport 要素は、以下のようにキャッシュコンテナのトランスポート設定を定義します。
    1. clusterName パラメーターはクラスターの名前を指定します。ノードは同じ名前を共有するクラスターのみに接続できます。
    2. distributedSyncTimeout パラメーターは、分散ロック上でロックを取得するために待機する時間を指定します。この分散ロックにより、単一キャッシュは一度に状態を転送するか、または状態をリハッシュすることができます。
    3. transportClass パラメーターは、キャッシュコンテナのネットワークトランスポートを表すクラスを指定します。