2012-04-03 10 views
8

私はアプリケーションの分散キャッシングを実装する方法を見つけようとします。Terracotta Enterprise SuiteなしでEhcacheを使用して分散キャッシングを実装することは可能ですか?

Ehcacheのは、すでに私はそれを使用してこの問題を解決する方法を検索する理由です、私のプロジェクトでキャッシュに使用します。 しかし残念なことに、Terracotta Enterprise Suiteはこれに必要とされており、商用であるようです。ではない? Ehcacheを分散キャッシング(RMIなど)に使用するもう1つのソリューションはありますか?

答えて

2

Ehcacheインスタンスをクラスタリングするためにテラコッタエンタープライズスイートは必要ありません。だから、純粋なOSSで、今日Ehcacheの&兵馬とクラスタリングを使用することができます。

http://www.ehcache.org/documentation/configuration/distributed-cache-configuration

編集:このリンクは有効期限が切れていますが。以下は、レプリケーションが必要な場合、あなたは確かにRMIのような他のメカニズムを使用することができます今すぐ http://www.ehcache.org/documentation/3.4/clustered-cache.html

クラスタ・キャッシュに関連する新しいリンクは次のとおりです。

http://www.ehcache.org/documentation/replication/index

ものの、唯一のテラコッタクラスタリングはあなたにHAをもたらすだろうし、一貫性の保証などの機能など...

+1

私はTerracotta OSSでEhcacheを使用しようとしましたが、失敗しました:( 私は別々のサーバー(A、B)に2つのノードを持っています。 />と内部でTestCacheという名前のキャッシュを、持っている [OK]を、今すぐにキャッシュする「」アプリケーションプット項目、「A」は再度要求される場合 - 。。それが正常にキャッシュされたアイテムを返します。しかし、「B」は欠場します。キャッシュ テラコッタは共通のキャッシュマネージャであることを理解しています。キャッシュは両方のアプリケーションで共通です(ヒットとミスを表示するため) キャッシュを手動で共有する必要がありますか? – Gadget

+0

つまり、 tc-config.xmlにいくつか追加の設定をする必要がありますか?またはehcache.xmlに? すべての例では、キャッシュマネージャの「共有」に使用される「ルート」要素。しかし、コードにはcacheManagerフィールドがありません。すべてehcache.xml内にのみ記述されています。 また、tc-config.xmlに 'instrumented-classes'設定があります。キャッシュされたオブジェクトのすべてのクラスを手動でリストする必要がありますか?もしそうなら、ehcache.xmlで十分であることを願っています。 – Gadget

+0

terracottaConfig要素をehcacheの中に追加し、Terracottaサーバーを指し示し、クラスタ化したい各キャッシュにテラコッタ要素を追加するだけで十分です。正しいXMLファイルが取得されていますか? –

0

あなたにもHazelcastを試してみたいことがあります。これはオープンソースの分散キャッシュであり、使用するのは非常に簡単です。

PS:私はehcacheをメカニズムを使用して分散キャッシュを実装するためのさまざまな方法がありますHazelcast

+0

WAN複製にはHazelcast Enterprise(無料ではありません)が必要です。 – AlexS

1

のために働きます。 1つはRMIまたはJgroupを使用することができます。私は同じような状況を通じて来て、いくつかの研究の後、私はキャッシュ管理のためのRedisのサーバーを使用して考え出したプロジェクトの一つで

は簡単で効果的なソリューションです。

あなたがにehcacheを使用してみた場合、それは時間がかかるし、複雑さを増すと、あなたのワークスペースに複数のキャッシュマネージャを持つことができますので、私は答えとしてこれを示唆しています。

関連する問題