1

私はこれを1週間研究していますが、私の特定の状況についていくつか考えてみたいです...

2台の物理サーバー:

  • サーバーA-パブリックWAR、管理WAR

  • サーバーB-パブリックWAR

要件:

  • 両方のWARが同じデータを表示する必要があります。

  • admin WARは、データを変更/キャッシュに追加します。

  • パブリックWARは、キャッシュの他の部分を変更したり、キャッシュにデータを追加したりします。

  • キャッシュ全体が各物理サーバーのメモリに存在する必要があるため(サーバーAの管理WARまたはパブリックWARに何かを追加した場合は、サーバーBのパブリックWARに表示される必要があります)、障害が発生した場合は、待機していません。投入するキャッシュの半分

  • 1,500人のアクティブユーザー/サーバー、トラフィックの大部分が読み取られ、書き込みはほとんどありません

追加のハードウェアは問題外です。

このシナリオに適したサードパーティのキャッシュソリューションはありますか?ほとんどの分散キャッシングシステムは、データの半分をサーバーAに、残りの半分をサーバーBに残したいと考えているようです。これは、フェイルオーバーパフォーマンスのニーズを満たしていません。

アイデアをありがとう!

4

6 に答える 6

1

http://www.gigaspaces.com/にはそのためのソリューションがあり、レプリケートモードでキャッシュとして機能する「スペース」を作成できるため、各ノードにデータの正確なコピーがあります。

また、フェイルオーバーまたはホットスタンバイのソリューションもあります。

編集:Gigaspaceは単なる共有キャッシュではありませんが、キャッシュソリューションだけを使用できます。これは、メモリ内データグリッドと呼ばれます。彼らは劇的に彼らのウェブページを変えたので、私は正確なページを見つけることができません。しかし、ドキュメントを検索すると、それが見つかります。

ここから始めることができます http://www.gigaspaces.com/datagrid

しかし、テクノロジーは無料ではありません。

于 2012-04-27T18:14:58.823 に答える
1

Redisを見る必要があります

于 2012-04-27T18:18:51.937 に答える
0

ほとんどの分散キャッシングシステムは、データの半分をサーバーAに、残りの半分をサーバーBに残したいと考えているようです。これでは、フェイルオーバーパフォーマンスのニーズを満たせません。

いいえ、簡単に調整できます。それ以外の場合は、スティッキーシージョンが必要です(どのキャッシュにデータが格納されているかを正確に知る必要があります)。市場に出回っているEhCache、GigaSpace、GridGainなどのソリューションを選択できます。JBossCacheを使用することをお勧めします。これは、最もシンプルで正確に必要なものです。

于 2012-04-27T18:20:00.810 に答える
0

EhCacheの複製されたオプションを見てください。

「複製キャッシュ」とは定義が異なる「分散キャッシュ」に関する情報を検索しているようです。分散キャッシュは、多くのマシンに分散されたより大きなキャッシュシステムであるため、クラスター内のマシンが失われると、キャッシュ全体がダウンするのではなく、一部がダウンします。このシナリオでは、キャッシュの合計サイズが到達する可能性があります(マシンの数と各マシンのメモリの積)。

レプリケートされたキャッシュでは、キャッシュされたデータが各マシンにレプリケートされ、合計キャッシュサイズがmax(任意の1台のマシンのメモリ)に制限されます。

于 2012-04-27T18:16:53.703 に答える
0

この分野には多くの解決策があります。

それらはすべて分散キャッシュとして構成できます。AFAIK Infinispanは、JBoss ASに埋め込みキャッシュを残した場合に最適に機能します。最後に、他のアプリサーバーに統合するのが難しいことを確認しました。お金があれば、テラコッタのBigMemoryをお勧めします。これはEhCacheの商用派生物であり、多くの追加の便利な機能を提供します。

于 2012-04-27T18:24:34.670 に答える
0

私たちはApacheCommonsJCSを使用しており、非常に満足しています。EHCacheのほぼ2倍の速度であると主張しています。説明した状況では、おそらくラテラルTCPキャッシュを構成します。

于 2012-04-27T18:35:38.093 に答える