要件 :
データ プロバイダーからすべてのアカウント グループ メンバーシップの詳細を取得し、関連付けられたグループのリストにアカウントのキャッシュを準備したいと考えています。4000 グループ用のキャッシュを準備する必要があり、API の応答が遅すぎるため、複数のサーバー環境を選択し、データを分散 Ehcache に保存しました。
現在のデザイン:
私は4つのサーバーを持っています
ステップ1:
- サーバー 1 は、グループの数を 4 つの等しい部分に分割します。
- したがって、各サーバーは 1000 グループのデータを取得できます。アカウントとグループの関連付けを保存するための分散型 ehcache も作成します。
- このキャッシュを他の 3 つのサーバーに複製します。(他のサーバーはステップ 1 が完了するまで待機します)
ステップ2 :
- 4 つのサーバーはすべて、データ プロバイダーからデータを取得し、それを分散キャッシュに入れようとしていました。
- サーバーは、同じキーのデータをキャッシュに更新できます。
上記のデザインに疑問があります
- 私の理解によると、各サーバーには独自の複製されたキャッシュのコピーがあるため、キャッシュの要素を更新すると、ローカルの複製されたコピーで更新されますか?
- サーバー1がキャッシュ内の要素を更新した場合、他のサーバーは更新された値をどのように取得しますか?
- 更新されたキャッシュが RMI を介して更新操作ごとにすべてのサーバーに複製される場合、サーバー 1 がキャッシュ内の要素を更新し、この更新が別のサーバーに複製される前に、サーバー 2 も同じ要素を更新するとどうなりますか。