私はEhCache 2.10.2を使用しています。 2つのサーバ間の同期レプリケーション(replicateAsynchronously = false)(S1とS2)キャッシュ複製
私は次のような状況があります。
- まずHTTPリクエストがS1は状態「A」で、キャッシュとDBからロードし、それをしてオブジェクトを検索し、
- S1をキャッシュするように置くことができないS1
- に行くを変更オブジェクトの状態を「B」に、DBに保存し、
- S1は、次の要求がS2 にS2がCAにobect見つけ
- を行く
- 成功応答を送信をキャッシュしますステート "A"のche
- オブジェクトは2番目の要求で状態 "B"を持たなければならないので、S2はエラー応答を送信します。
サーバーがオブジェクトをキャッシュに置くと、スレッドはプッシュ操作でブロックされ、シリアル化されたオブジェクトを別のサーバーに送信し、別のサーバーがデシリアライズして要素をキャッシュに置く間は待機しません。 私たちが運が良ければ、ポイント6は状態 "A"または "B"になります。
変更がすべてのノードで複製されるまで操作をブロックするようにEhCacheを構成できますか?
EhCacheを他のキャッシュ実装と置き換える必要がありますか、すべてを変更する必要がありますか?