2012-11-21 33 views
1

Coherence缓存成员超时并在Spring Hibernate Tomcat应用程序中从群集中删除。因此数据不同步,并且所有缓存成员不会同时更新。 此应用程序已在PROD中运行,并且我们最近做的唯一更改是升级Tomcat。 这是一个生产问题。任何建议都会有所帮助。谢谢。Coherence缓存成员超时并从群集中删除

回答

1

正如你所说,缓存成员在超时或换个方式时被删除,他们会停止响应群集的其他部分。

发生这种情况的最可能原因是停止世界垃圾收集正在发生,因此保持群集中成员的心跳不会被发送。

在短期内,您需要查看垃圾收集日志(希望您已经配置了这些日志)并最终对应用程序进行配置/调整,以确保内存使用和垃圾收集的效率。

长期来看,让进程与加入集群的集群并不完全相关,尤其是启用了存储的集群是一个坏主意。您应该使用扩展TCP来允许这些其他进程访问缓存。

原因是,以您的情况为例,Tomcat具有各种各样的资源需求,最终在JVM上引入更多的内存/垃圾收集需求,而不仅仅是集群成员。由于此类调整,JVM针对更广泛的需求将带来更多妥协和最终结果,因此难以运行内存/ GC经过优化以保持集群稳定的JVM。