2010-01-15 220 views
1

任何人都可以提示我如何配置SwarmCache讓Hibernate能夠在集羣(分佈式緩存)中工作嗎?可能還有其他一些替代方法(請不要建議JBoss Cache)?SwarmCache休眠配置

+0

爲什麼不是JBoss Cache?如果有限制,請指定它們。 – skaffman 2010-01-15 11:31:36

+0

就我所知,JBoss Cache只能使用IP多播進行羣集配置。我的節點駐留在不同的網絡中。如果我錯了,請修復我,如果可以的話,給一些示例JBoss Cache配置。 – Archer 2010-01-15 23:15:02

回答

1

其實,我不知道爲什麼Hibernate文檔(見19.2. The Second Level Cache)並沒有提到他們作爲集羣安全但兩者OSCacheEHCache是在集羣環境中使用。可能是因爲Hibernate沒有正式支持它們。不過,我知道這兩種方法都可以在分佈式環境中工作,因爲我使用EHCache來完成這項工作,Matt Raible使用OSCache來完成它(推薦使用patching hibernate)。看看馬特的博客文章OSCache vs. EhCache for Hibernate's 2nd Level Cache,這是非常翔實的。

回到現在你的問題......很難給你一個準確的答案,因爲你沒有給您的要求和約束太多細節,但考慮到:

  • JGroups是一個工具包用於可靠的多播通信(注意,這不一定意味着IP多播,JGroups也可以使用諸如TCP的傳輸)。
  • 我對前一點的理解是,使用JBoss Cache並未真正排除(有關相關JGroups版本,請參閱this matrix)。所以這是一個選項。
  • SwarmCache看起來已經死了(自2003年11月以來零活動!),並沒有太多的資源在互聯網上,我不會使用它。
  • OSCache(無效)支持JGroups和JMS作爲廣播協議。這是一個選項。
  • EHCache支持Terracotta,RMI,JGroups,JMS,Cache Server作爲分發機制,並支持invalidation and replication。這是一個選項。

現在,沒有更多的細節(複製vs失效?您需要什麼樣的緩存併發策略支持?您有什麼限制?),我不能再多說了。