1

machine1、machine 2、および machine 3 が同じ Coherence クラスタ上にあるとします。

クラスター内で、マシン 3 ではなくマシン 1 とマシン 2 の下にキャッシュを配置するように言う方法はありますか? また、この構造に欠点はありますか (ネットワークの問題、パフォーマンスなど)?

ありがとう。

編集:ストレージが無効になっているノードは必要ありません。各ノードはデータを保存できますが、保存したいキャッシュデータを選択してもらいたいです。例: Cache1: M1 OK、M2 OK、M3 NOK、Cache2: M1 NOK、M2 OK、M3 OK など

4

1 に答える 1

1

-Dtangosol.coherence.distributed.localstorage=falseCoherenceクラスタで実行したことは、コマンドラインで設定されたプロパティを使用して「キャッシュ・ノード」として使用したくないJVMを起動することです。これにより、これらのJVMがクラスタに参加し、最初にキャッシュにアクセスできるようになります。 -class クラスター メンバーですが、実際にはキャッシュの一部ではありません。

したがって、あなたの例では、マシン 3 のすべての JVM はtangosol.coherence.distributed.localstorageプロパティを として指定しfalse、マシン 1 と 2 は、このプロパティ セットを使用して実行するとtrue(またはこのプロパティを使用せずにデフォルトで に設定されtrueます)、キャッシュ サーバーとして使用されます。

編集:

更新された質問を実装する具体的な方法がわかりません。マシンごとに異なる coherence-cache-config.xml を提供してみることもできます(各マシンが異なるキャッシュのセットを「認識」するようにするため)が、このページはそれが十分にサポートされていないことを示しているようです。もっと良い答えがあればいいのに。

于 2013-06-03T17:15:52.497 に答える