1.5. 状態遷移

状態遷移は、サイト間でデータを同期する管理操作です。

たとえば、LON がオフラインになると、NYC がクライアント要求の処理を開始します。LON をオンラインに戻すと、LON の Data Grid クラスターには NYC のクラスターと同じデータはありません。

LONNYC の間でデータの一貫性を保つには、NYC から LON に状態をプッシュできます。

  • 状態遷移は双方向です。たとえば、NYC から LON へ、または LON から NYC へ状態のプッシュを実行できます。
  • 状態をオフラインサイトにプッシュすると、オンラインに戻ります。
  • 状態転送は、発信元サイトと受信サイトの両方のサイトに存在するデータのみを上書きします。Data Grid はデータを削除しません。

    たとえば、"k2" は LON および NYC に存在します。"k2" は、LON がオフライン時に NYC から削除されます。LON をオンラインに戻すと、"k2" は引き続きその場所に存在します。NYC から LON に状態をプッシュすると、転送は LON の "k2" には影響しません。

    ヒント

    状態遷移後にキャッシュの内容が同じになるようにするには、状態をプッシュする前に受信サイトのキャッシュからすべてのデータを削除します。clear() メソッドを使用します。

  • 状態遷移は、プッシュの開始後に発生するデータへの更新を上書きしません。

    たとえば、"k1,v1" は LON および NYC に存在します。LON がオフラインになったため、NYC からLON に状態転送をプッシュします。これにより、LON が再びオンラインになります。状態遷移が完了する前に、クライアントは LON に "k1,v2" を配置します。

    この場合、プッシュを開始した後に変更が発生したため、NYC からの状態遷移は "k1,v2" を上書きしません。

参照