我的Hazelcast设置(嵌入在Payara中的Hazelcast)经历了多次中断,其中进程的非榛星工作负载导致GC开销错误。
在此期间,Hazelcast回应了心跳,然而,没有回应获取数据的实际请求。这导致系统停止,即使数据备份可用。
因此,我想问一下,如果某个成员停止响应其他类型的请求而不仅仅是心跳,那么是否有办法从群集中启动成员。
答案 0 :(得分:1)
您可能需要考虑在Payara服务器实例上以“Lite”模式使用hazelcast。如果在可能面临过度GC的实例上启用“精简”模式,则这些实例不应影响Hazelcast性能,因为这些节点不会为hazelcast集群存储任何数据。
但是,有必要使用额外的Full实例来补充此解决方案,这将保留数据。这些附加实例不应运行您的任何应用程序,仅作为单独的hazelcast节点运行。我博客文章中的Focused on throughput and performance部分描述了如何使用“Lite”Payara集群成员(由Lite hazelcast成员支持)的一些场景。
总结一下 - 如果您将某些节点转换为“Lite”并且对于每个“Lite”节点,您添加一个仅由其自身运行的“完整”节点,没有已部署的应用程序,您将分离应用程序使用的内存并且分散到单独的JVM中。作为“Lite”节点且不包含hazelcast集群数据的JVM上的GC不应影响Hazelcast性能。