2012-11-21 34 views
1

Coherence緩存成員超時並在Spring Hibernate Tomcat應用程序中從羣集中刪除。因此數據不同步,並且所有緩存成員不會同時更新。 此應用程序已在PROD中運行,並且我們最近做的唯一更改是升級Tomcat。 這是一個生產問題。任何建議都會有所幫助。謝謝。Coherence緩存成員超時並從羣集中刪除

回答

1

正如你所說,緩存成員在超時或換個方式時被刪除,他們會停止響應羣集的其他部分。

發生這種情況的最可能原因是停止世界垃圾收集正在發生,因此保持羣集中成員的心跳不會被髮送。

在短期內,您需要查看垃圾收集日誌(希望您已經配置了這些日誌)並最終對應用程序進行配置/調整,以確保內存使用和垃圾收集的效率。

長期來看,讓進程與加入集羣的集羣並不完全相關,尤其是啓用了存儲的集羣是一個壞主意。您應該使用擴展TCP來允許這些其他進程訪問緩存。

原因是,以您的情況爲例,Tomcat具有各種各樣的資源需求,最終在JVM上引入更多的內存/垃圾收集需求,而不僅僅是集羣成員。由於此類調整,JVM針對更廣泛的需求將帶來更多妥協和最終結果,因此難以運行內存/ GC經過優化以保持集羣穩定的JVM。