9.3.5. TcpDelegatingCacheLoader


このキャッシュローダーはロードと保存を JBossCache の別のインスタンスに委譲します。 このインスタンスは、 同じアドレス空間、 同じホストの別プロセス、別ホストの別プロセスのいずれかに存在できます。
TcpDelegatingCacheLoader はリモートの org.jboss.cache.loader.tcp.TcpCacheServer と対話します。 org.jboss.cache.loader.tcp.TcpCacheServer はコマンドラインで開始されたスタンドアロンプロセスか、 JBoss AS 内に組み込まれた MBean となります。 TcpCacheServer は別の JBossCache インスタンスへの参照を持ちます (独自で作成した参照か、 依存関係の挿入により JBoss が作成した参照など提供された参照になります)。
JBoss Cache 2.1.0 より、 TcpCacheServer への接続が切断されると TcpDelegatingCacheLoader が透過的に再接続を処理するようになりました。
TcpDelegatingCacheLoader はリモート TcpCacheServer のホストとポートで設定され、 これを使用して通信を行います。 また、 TcpCacheServer への再接続を透過的に制御するため、 新しい任意のパラメータが 2 つ使用されます。 timeout プロパティ (デフォルト値は 5000) は、 キャッシュローダーが TcpCacheServer への接続を再試行し続ける時間を指定し、 この時間を超過すると再試行を断念し例外をスローします。 reconnectWaitTime (デフォルト値は 500) は、 通信の障害を検出した場合にキャッシュローダーが再接続を実行する前に待機する時間になります。 最後の 2 つのパラメータは、 キャッシュローダーに一定のフォールトトラレンスを追加し、 TcpCacheServer の再起動に対応するために使用することができます。
設定は次のようになります。
 <loaders passivation="false" shared="false">
      <preload>
         <node fqn="/"/>
      </preload>
      <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
      <loader class="org.jboss.cache.loader.TcpDelegatingCacheLoader">
         <properties>
            host=myRemoteServer
            port=7500
            timeout=10000
            reconnectWaitTime=250
         </properties>
      </loader>
   </loaders>
これは、 JBossCache が myRemoteServer:7500 で実行されているリモートの TcpCacheServer にすべてのロード要求と保存要求を委譲することを意味します。
典型的なユースケースとしては、 同じクラスタ内でレプリケートされた複数の JBoss Cache インスタンスがすべて同じ TcpCacheServer インスタンスへ委譲する例があります 。TcpCacheServer は JDBCCacheLoader より TcpCacheServer 自体をデータベースへ委譲することがありますが、 ここで重要なのは 5 つのノードがすべて同じデータセットにアクセスしていると、 アンロードされたデータセットごとに 1 つのSQL ステートを実行する TcpCacheServer よりデータをロードすることです。 ノードがデータベースに直接アクセスすると、 同じ SQL が複数回実行されます。 したがって、 TcpCacheServer はデータベースの前にある自然なキャッシュとして機能します (ネットワークラウンドトリップがデータベースのアクセスよりも早い場合。 通常データベースのアクセスにはネットワークラウンドトリップも含まれます)。
単一障害点 (Single Point of Failure) の問題を軽減するために複数のキャッシュローダーを設定することができます。 最初のキャッシュローダーは ClusteredCacheLoader、 2 番目は TcpDelegatingCacheLoader、 最後は JDBCacheLoader とし、 低い方から順にキャッシュへアクセスする負荷を効果的に定義します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る