MemCachedのドキュメントには、データがノード間で分散されていることが記載されています。それが分散キャッシュの定義です。ノード A がノード B にあるデータを必要とする場合、データは B から A に転送されます。A がクラッシュすると、A に保存されているすべてのデータが B で利用できなくなります。
ただし、EhCache の分散キャッシングの定義は異なります。基本的に、分散キャッシュというよりも共有メモリに似ています。ノード A が何らかのデータを変更すると、ノード B はその変更を認識します。A がクラッシュした場合、共有メモリに保存されているデータ A はノード B で引き続き利用できます。
これは私に2つの質問を導きます:
それぞれ 1 GB のメモリを持つ 3 つのノード A、B、C がある場合、MemCached がメモリを追加し、ノードの合計 3 GB のメモリのように見えるように見えます。ただし、EhCache は 3 GB を追加するのではなく、各ノード間で最大 1 GB の共有メモリを許可するようです。これは正しいです?
1. に対する答えが「はい」の場合、EhCache と MemCached は実際には競合ではなく補完的であると結論付けるのは正しいですか?