8.3.3. 完全および部分的ステート転送


インメモリまたは永続ステート転送が有効の場合は、キャッシュの使用方法に応じて完全または部分的なステート転送が異なるタイミングで実行されます。「完全な」ステート転送は、ツリー全体 (ルートノードとそれ以下のすべてのノード) に関連するステートの転送を意味します。「部分的な」ステート転送では、ツリーの一部 (ある FQN のノードとそれ以下のすべてのノード) のみが転送されます。
インメモリステート転送または永続ステート転送が有効な場合は、以下にタイミングでステート転送が実行されます。
  1. 初期ステート転送。 キャッシュが最初に起動された時に実行される (start() メソッドの処理の一部として実行) 完全なステート転送になります。 ステートは最も長い期間稼働しているキャッシュインスタンスから取得されます。[1]ステートの受信または統合で問題が発生した場合は、 キャッシュが起動しません。
    以下の場合は初期ステート転送が実行されません。
    1. キャッシュの InactiveOnStartup プロパティは true です。 このプロパティはリージョンベースのマーシャリングと併用されます。
    2. バディレプリケーションが使用されます。バディレプリケーションを使用したステート転送の詳細については、以下を参照してください。
  2. リージョンアクティベーション後の部分的ステート転送。 リージョンベースマーシャリングが使用されると、 アプリケーションはキャッシュに特定のクラスローダーを登録する必要があります。 このクラスローダーは、 キャッシュの特定リージョン (サブツリー) のステートをアンマーシャルするために使用されます。
    登録後、 関連するサブツリーのステートの部分ステート転送を開始する cache.getRegion(fqn, true).activate() をアプリケーションが呼び出します。 最初に、 クラスタ内の最も古いキャッシュインスタンスに要求を行います。 このインスタンスがステートを返さない場合は、 あるインスタンスがステートを提供するまで (またはすべてのインスタンスが要求を受けるまで) 各インスタンスへ順番に要求を行います。
    通常、 リージョンベースのマーシャリングが使用された場合、 キャッシュの InactiveOnStartup プロパティが true に設定されます。 これにより、 初期ステート転送が抑制され、 転送されたステートを非シリアル化できないため初期ステート転送に失敗します。
  3. バディレプリケーション。 バディレプリケーションが使用された場合は、 初期ステート転送が無効になります。 キャッシュインスタンスがクラスタに参加すると、 キャッシュインスタンスは 1 つまたは複数の他のインスタンスのバディになり、 1 つまたは複数の他のインスタンスはそのバディになります。 インスタンスがバックアップを提供する新しいバディを持っていることを確認すると、 インスタンスは現在のステートを新しいバディにプッシュします。 この新しいバディへのステートのプッシュは「プル」のアプローチ (受信側がステートを要求し受信する) に基づいた他形式のステート転送とは若干異なります。 ただし、 ステートを準備および統合するプロセスは同じです。
    バディグループ形成時のステートの「プッシュ」は、 InactiveOnStartup プロパティが false に設定されている場合にのみ実行されます。 true に設定されている場合、 グループの複数のメンバーにアプリケーションがリージョンをアクティベートした時のみバディ間のステート転送が実行されます。
    リージョンのアクティベート呼び出し後の部分的ステート転送も、 バディレプリケーションの場合と若干異なります。 あるキャッシュインスタンスから部分的なステートを要求し、 インスタンスが応答するまですべてのインスタンスを試すのではなく、 バディレプリケーションではリージョンを有効化するインスタンスはバックアップとして機能する各インスタンスから部分的なステートを要求します。


[1] JGroups では、 最も長い期間稼働しているキャッシュインスタンスは常にコーディネータとなります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat