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