40.5. ネットワークパーティションリカバリーの例
owners
が 3 に設定された分散 4 ノードのクラスター ( 「Owners が 3 の分散 4 ノードキャッシュの例」 を参照)owners
が 2 に設定された分散 4 ノードクラスター (「Owners が 2 の分散 4 ノードキャッシュの例」 を参照)owners
が 3 に設定された分散 5 ノードクラスター (「Owners が 3 の分散 5 ノードキャッシュの例」 を参照)owners
が 4 に設定されたレプリケート 4 ノードクラスター (「Owners が 4 のレプリケーション 4 ノードキャッシュの例」 を参照)owners
が 5 に設定されたレプリケート 5 ノードクラスター (「Owners が 5 のレプリケーション 5 ノードキャッシュの例」 を参照)owners
が 8 に設定されたレプリケート 8 ノードクラスター (「Owners が 8 のレプリケーション 8 ノードキャッシュの例」 を参照)
40.5.1. Owners が 3 の分散 4 ノードキャッシュの例
k1
、k2
、k3
、および k4
) を含む 4 ノード分散キャッシュが含まれます。このキャッシュでは、owners
が 3 と等しくなります。つまり、各データエントリーごとに、キャッシュ内のさまざまなノードの 3 つのコピーが必要です。

図40.1 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ
owners
の値) 以上のノードが残っていないためです。結果として、4 つのエントリー (k1
、k2
、k3
、および k4
) は読み書きできません。新しいエントリーはいずれかの劣化パーティションで書き込みできます (どちらのパーティションでもエントリーの 3 つのコピーを格納できません)。

図40.2 パーティションのマージ後のキャッシュ
k1
、k2
、k3
、および k4
) から構成されます)。
40.5.2. Owners が 2 の分散 4 ノードキャッシュの例
owners
が 2 となり、4 つのデータエントリー (k1
、k2
、k3
、および k4
) それぞれがキャッシュ内に 2 つのコピーを持ちます。

図40.3 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ
k1
は読み書きできます (owners
が 2 であり、エントリーの両方のコピーがパーティション 1 に保持されるため)。パーティション 2 では、同じ理由により k4
は読み書きできます。エントリー k2
および k3
は両方のパーティションで利用できません (いずれのパーティションにもこれらのエントリーのすべてのコピーが含まれないため)。新しいエントリー k5
は、k5
の両方のコピーを所有するパーティションにのみ書き込むことができます。

図40.4 パーティションのマージ後のキャッシュ
k1
、k2
、k3
、および k4
) から構成されます)。
40.5.3. Owners が 3 の分散 5 ノードキャッシュの例
owners
が 3 に等しい分散キャッシュが含まれます。

図40.5 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ
owners
ノードよりも少ない数を失ったため、利用可能モードのままになります。

図40.6 パーティション 1 の再調整と別のエントリーの追加
numOwners
は 3)。結果として、3 つのそれぞれのノードにはキャッシュ内の各エントリーのコピーが含まれます。次に、新しいエントリー (k6
) をキャッシュに追加します。owners
値は引き続き 3 であり、パーティション 1 には 3 つのノードがあるため、各ノードには k6
のコピーが含まれます。

図40.7 パーティションのマージ後のキャッシュ
owners
=3)、JBoss Data Grid はノードを再調整し、データエントリーがキャッシュ内の 4 つのノード間で分散されるようにします。マージされた新しいキャッシュは完全に利用可能になります。
40.5.4. Owners が 4 のレプリケーション 4 ノードキャッシュの例
owners
が 4 に等しいレプリケートキャッシュが含まれます。

図40.8 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ
k1
、k2
、k3
、および k4
) は読み書きできません。これは、2 つのパーティションのどちらも 4 つのキーのすべてのコピーを所有しないためです。

図40.9 パーティションのマージ後のキャッシュ
k1
、k2
、k3
、および k4
) から構成されます)。
40.5.5. Owners が 5 のレプリケーション 5 ノードキャッシュの例
owners
が 5 に等しいレプリケーションキャッシュが含まれます。

図40.10 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ

図40.11 両方のパーティションが 1 つのキャッシュにマージされる
40.5.6. Owners が 8 のレプリケーション 8 ノードキャッシュの例
owners
が 8 に等しいレプリケートキャッシュを対象としています。

図40.12 ネットワークパーティション実行前とネットワークパーティション実行後のキャッシュ

図40.13 パーティション 2 はさらにパーティション 2A と 2B に分割される
このシナリオでは 4 つのキャッシュの解決法があります。
- ケース 1: パーティション 2A と 2B のマージ
- ケース 2: パーティション 1 と 2A のマージ
- ケース 3: パーティション 1 と 2B のマージ
- ケース 4: パーティション 1、パーティション 2A、およびパーティション 2B のマージ

図40.14 ケース 1: パーティション 2A と 2B のマージ

図40.15 ケース 2: パーティション 1 と 2A のマージ

図40.16 ケース 3: パーティション 1 と 2B のマージ

図40.17 ケース 4: パーティション 1、パーティション 2A、およびパーティション 2B のマージ