2013-09-26 65 views
1

我的問題是關於RMI使用ehcache進行緩存複製。假設我有3臺服務器,它們相互複製緩存。在啓動時,我想從其他正在運行的實例(bootstrap)加載一個緩存。我的擔憂是關於這些主題:Ehcache複製緩存RMI引導

  1. 我在所有節點上都有內存中緩存。我重新啓動一個node1,並在啓動時(我同步啓動 - bootstrapAsynchronously = false)我正在從node2加載緩存。如果在緩存被完全複製之前突然發生了什麼情況,Node2處於關閉狀態?複製是否會繼續從node3(也有它加載)?
  2. 如果我在異步模式下設置自舉 - 是否會拋出關於複製已完成和實例滿載緩存的事件?

回答

0

對第一部分的回答是緩存不會啓動。

http://ehcache.org/documentation/user-guide/rmi-replicated-caching#configuring-bootstrap-from-a-cache-peer

當一個節點出現,這將是不相干其他緩存。當 引導程序完成時,它將部分連貫。 Bootstrap獲取來自隨機對等體的密鑰列表 ,然後從隨機對等體中批量加載 。如果引導失敗,那麼緩存將無法啓動。 但是,如果發生高速緩存複製操作,然後 被bootstrap覆蓋,則緩存可能是 不一致。