18.5. リモートキャッシュストア
RemoteCacheStore は、リモート Red Hat JBoss Data Grid クラスターにデータを保存するキャッシュローダーの実装です。RemoteCacheStore は Hot Rod クライアントサーバーアーキテクチャーを使用してリモートクラスターと通信します。
Hot Rod はリモートキャッシュストアに対して ロードバランシングやフォールトトラレンスを提供します。また、
RemoteCacheStore とクラスター間の接続を細かく調整する機能も提供します。
18.5.1. リモートキャッシュストアの設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、Red Hat JBoss Data Grid のリモートクライアントサーバーモードにおけるリモートキャッシュストアのサンプル設定を示しています。
手順18.17 リモートキャッシュストアの設定
remote-store 要素のパラメーターは次の情報を定義します。
cacheパラメーターは、リモートキャッシュの名前を定義します。定義されない状態のままの場合、デフォルトのキャッシュが代わりに使用されます。<remote-store cache="default">
<remote-store cache="default">Copy to Clipboard Copied! Toggle word wrap Toggle overflow socket-timeoutパラメーターは、SO_TIMEOUTで定義される値 (ミリ秒単位) が指定されるタイムアウトでリモート Hot Rod サーバーに適用されるかどうかを設定します。タイムアウト値が0の場合は、無限のタイムアウトを示します。<remote-store cache="default" socket-timeout="60000"><remote-store cache="default" socket-timeout="60000">Copy to Clipboard Copied! Toggle word wrap Toggle overflow tcp-no-delayは、TCP_NODELAYがソケット接続でリモートの Hot Rod サーバーに適用されるかどうかを設定します。<remote-store cache="default" socket-timeout="60000" tcp-no-delay="true"><remote-store cache="default" socket-timeout="60000" tcp-no-delay="true">Copy to Clipboard Copied! Toggle word wrap Toggle overflow hotrod-wrappingは、リモートストア上でラッパーが Hot Rod に必要となるかどうかを設定します。<remote-store cache="default" socket-timeout="60000" tcp-no-delay="true" hotrod-wrapping="true"><remote-store cache="default" socket-timeout="60000" tcp-no-delay="true" hotrod-wrapping="true">Copy to Clipboard Copied! Toggle word wrap Toggle overflow remote-server要素の単一パラメーターは以下の通りです。outbound-socket-bindingパラメーターは、リモートサーバーのアウトバウンドソケットバインディングを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.5.2. リモートキャッシュストアの設定 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
手順18.18 リモートキャッシュストアの設定
以下は、Red Hat JBoss Data Grid のライブラリーモードにおけるリモートキャッシュストアのサンプル設定を示しています。
Persistence 要素の設定
passivationをfalseに設定した状態で、persistence要素を作成します。<persistence passivation="false" />
<persistence passivation="false" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - リモートキャッシュストアの属性を設定するために、
persistence要素内にremoteStore要素を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow remoteCacheName属性を追加します。リモート Infinispan クラスターに接続するリモートキャッシュの名前を指定します。リモートキャッシュの名前が指定されないと、デフォルトのキャッシュが使用されます。fetchPersistentState属性を追加します。trueに設定されると、リモートキャッシュがクラスターに加わる際に永続状態が取り込まれます。複数のキャッシュストアがチェーンされている場合、1 つのキャッシュストアでのみこのプロパティーをtrueに設定できます。この値のデフォルトはfalseです。shared属性を追加します。これは、複数のキャッシュインスタンスがキャッシュストアを共有する場合にtrueに設定されます。これにより、複数のキャッシュインスタンスが同じ変更内容を個別に書き込むことを避けられます。この属性のデフォルトはfalseです。preload属性を追加します。trueに設定されている場合、キャッシュストアデータがメモリーに事前にロードされ、起動後すぐにアクセス可能になります。これをtrueに設定する不利な点には、起動時間が増えることが挙げられます。この属性のデフォルト値はfalseです。ignoreModifications属性を追加します。true に設定されると、この属性は、キャッシュを変更する操作 (例: 配置、削除、消去、保存など) がキャッシュストアに影響を与えることを防ぎます。その結果、キャッシュストアは、キャッシュと同期しなくなります。この属性のデフォルト値はfalseです。purgeOnStartup属性を追加します。trueに設定されると、キャッシュストアは起動プロセス時にパージされます。この属性のデフォルト値はfalseです。tcpNoDelay属性を追加します。trueに設定されると、これはTCPNODELAYスタックをトリガーします。この属性のデフォルト値はtrueです。pingOnStartup属性を追加します。trueに設定されると、クラスタートポロジーを取り込むために ping 要求がバックエンドサーバーに送信されます。この属性のデフォルト値はtrueです。keySizeEstimate属性を追加します。この値は、データベースに接続するためのドライバーユーザーのクラス名です。この属性のデフォルト値は64です。valueSizeEstimate属性を追加します。この値は、値をシリアライズおよびデシリアライズする時のバイトバッファーのサイズです。この属性のデフォルト値は512です。forceReturnValues属性を追加します。この属性は、FORCE_RETURN_VALUEをすべての呼び出しに対して有効にするかどうかを設定します。この属性のデフォルト値はfalseです。
- サーバー情報をセットアップするために
remoteStore要素内にservers要素を作成します。情報を単一サーバーに追加するには、一般的なservers要素内にserver要素を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ホストアドレスを設定するには
host属性を追加します。 - リモートキャッシュストアで使用されるポートを設定するには
port属性を追加します。
connectionPool要素をremoteStore要素に対して作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow maxActive属性を追加します。これは、一度に各サーバーに設定できるアクティブな接続の最大数を示します。この属性のデフォルト値は-1であり、これはアクティブな接続の無限な数を示します。maxIdle属性を追加します。これは、一度に各サーバーに設定できるアイドル状態の接続の最大数を示します。この属性のデフォルト値は-1であり、これはアイドル状態の接続の無限な数を示します。maxTotal属性を追加します。これは、組み合わされたサーバーセット内の永続的な接続の最大数を示します。この属性のデフォルト設定は-1であり、これは接続の無限な数を示します。
18.5.3. リモートキャッシュストアのアウトバウンドソケットの定義 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
リモートキャッシュストアによって使用される Hot Rod サーバーは、
standalone.xml ファイルの outbound-socket-binding 要素を使用して定義されます。
standalone.xml ファイルにおけるこの設定の例は次の通りです。
例18.1 アウトバウンドソケットの定義