当成员停止响应实际请求时宣布成员死亡
Declaring a Member dead when it stops responding to actual requests
在这种情况下,我的 Hazelcast 设置(Hazelcast 嵌入在 Payara 中)经历了多次中断,其中进程的非 hazelcast 工作负载导致 GC 开销错误。
在此期间,Hazelcast 会响应心跳,但不会响应获取数据的实际请求。这导致系统停止,即使数据备份可用。
因此我想问一下,如果一个成员停止响应其他类型的请求而不仅仅是心跳,是否有办法将其踢出集群。
您可能要考虑在 Payara 服务器实例上以 "Lite" 模式使用 hazelcast。如果您在可能面临 ecessive GC 的实例上打开 "lite" 模式,这些实例应该不会影响 Hazelcast 性能,因为这些节点不会为 hazelcast 集群存储任何数据。
但是,有必要使用额外的 Full 实例来补充此解决方案,这将保留数据。这些额外的实例不应该 运行 您的任何应用程序,并且只能用作单独的 hazelcast 节点。我的博客 post 中的 Focused on throughput and performance 部分描述了一些如何使用 "Lite" Payara 集群成员(由 Lite hazelcast 成员支持)的场景。
总而言之 - 如果您将一些节点变成 "Lite",并且对于每个 "Lite" 节点,您添加一个额外的 "Full" 节点,该节点 运行 本身就是没有部署的应用程序,您可以将应用程序和 hazelcast 使用的内存分离到单独的 JVM 中。作为 "Lite" 节点且不包含 hazelcast 集群数据的 JVM 上的 GC 不应影响 Hazelcast 性能。
在这种情况下,我的 Hazelcast 设置(Hazelcast 嵌入在 Payara 中)经历了多次中断,其中进程的非 hazelcast 工作负载导致 GC 开销错误。
在此期间,Hazelcast 会响应心跳,但不会响应获取数据的实际请求。这导致系统停止,即使数据备份可用。
因此我想问一下,如果一个成员停止响应其他类型的请求而不仅仅是心跳,是否有办法将其踢出集群。
您可能要考虑在 Payara 服务器实例上以 "Lite" 模式使用 hazelcast。如果您在可能面临 ecessive GC 的实例上打开 "lite" 模式,这些实例应该不会影响 Hazelcast 性能,因为这些节点不会为 hazelcast 集群存储任何数据。
但是,有必要使用额外的 Full 实例来补充此解决方案,这将保留数据。这些额外的实例不应该 运行 您的任何应用程序,并且只能用作单独的 hazelcast 节点。我的博客 post 中的 Focused on throughput and performance 部分描述了一些如何使用 "Lite" Payara 集群成员(由 Lite hazelcast 成员支持)的场景。
总而言之 - 如果您将一些节点变成 "Lite",并且对于每个 "Lite" 节点,您添加一个额外的 "Full" 节点,该节点 运行 本身就是没有部署的应用程序,您可以将应用程序和 hazelcast 使用的内存分离到单独的 JVM 中。作为 "Lite" 节点且不包含 hazelcast 集群数据的 JVM 上的 GC 不应影响 Hazelcast 性能。