1

私は現在、RMIを介してEHCacheを使用する分散キャッシュを持っていますが、これは問題なく機能します。キャッシュに永続性を含めて、分散型の永続的なキャッシュを作成できるかどうか疑問に思いました。

これに加えて、キャッシュが永続的である場合、ファイルストアからロードしてから、キャッシュクラスターからブートストラップしますか?基本的に、私が欲しいのは:

  • キャッシュが開始します
  • キャッシュはファイルストアから永続オブジェクトをロードします
  • キャッシュは、通常どおり、混乱したクラスターとブートストラップに参加します

この背後にあるユースケースは、2つの同一のコンポーネントを独立したマシンで実行し、コンポーネントの1つに障害が発生した場合にデータが失われないようにキャッシュを分散することです。永続性は、両方のコンポーネントに障害が発生するまれな場合にすべてのデータが失われるのを防ぎます。

別の配布方法(テラコッタなど)に移行すると、これがサポートされますか?

4

2 に答える 2

3

EHCacheのライトスルー キャッシュ オプションを見てみましょう。リンクで説明されているように、リードスルー キャッシュとライト ビハインド キャッシュを組み合わせると、ユーザー定義のデータ ストアに永続性が提供されます。

Terracotta が提供するのは一貫性です (そのため、クラスター メンバー間の競合の解決について心配する必要はありません)。独自のストアへのインターフェイスを定義するオプションがあります ( Terracotta にデータを保持させることによりCacheLoader、または単に保持させるだけですが、Terracotta から混合信号と、TC が記録システムに適しているかどうかに関するドキュメントを受け取りました。データがCacheWriter一時的で、いつでも吹き飛ばされる可能性があります (Web セッションの場合など)。

于 2010-04-30T01:25:50.310 に答える
1

bootstrapCacheLoaderFactory 要素を cacheEventListenerFactory とともにキャッシュに追加します (これは、ダウンしているときに他のノードからブートストラップする必要があり、そのノードが更新を取得した場合に他のノードと複製する必要があります)

memoryStoreEvictionPolicy="LFU" diskPersistent="true" timeToLiveSeconds
="86400" maxElementsOnDisk="1000">

于 2011-02-04T00:06:00.637 に答える