2009-06-10 38 views
1

有誰知道如何正確配置Terracotta服務器的持久隊列?Terracotta的持久隊列配置

赤土店聚集在服務器對象的文件,並在追加唯一的方式將數據寫入其中。我想控制這個內部數據如何被清除。我有多個使用由Terracota集羣的常見ehcache實例的密集型應用程序。有線程正在放入數據,其他線程正在讀取和刪除。我們的硬盤不是由橡膠製成的...... AFAIK))Terracotta是否清除磁盤上的緩存項目,默認行爲是什麼,配置選項等? Thanx,提前

+0

我想我找到了我正在尋找的答案: >>每個Terracotta服務器實例運行一個垃圾收集算法,以確定哪些集羣對象不再可引用,並且可以安全地從內存和磁盤中刪除服務器實例的存儲 這意味着一旦持久對象通過輕率垃圾回收進程被刪除,就會自動清除持久隊列。據我所知,不需要對持久隊列進行特別的調整。 – nixau 2009-06-11 09:46:55

回答

0

任何物體聚集的兵馬俑是耐用的。

因此,一旦您對隊列進行羣集,它是持久的。由集羣數據結構引用的每個對象也是持久的,因此您放置在隊列中的任何消息都將持久。

如果你的意思是使它永久存在磁盤上,那麼這個設置是由持久模式控制的。有關更多詳細信息,請參見configuration reference guide

置於集羣內存中的對象是垃圾收集 - 與Java堆中的對象如何收集垃圾的原理相同。一旦清除了對象的所有羣集引用,分佈式垃圾回收器就可以清除一個對象。該過程被稱爲distributed garbage collection

您可以使用developer console監視羣集堆中的對象數量以及每個分佈式垃圾回收(dgc)的詳細信息以及調用dgc運行。