Hazelcast准备就绪探针

时间:2020-06-16 21:08:52

标签: security kubernetes hazelcast

我知道/ hazelcast / health / ready的端口5701处有一个探针。

但是,当我使用部署在kubernetes集群上的嵌入式hazelcast时,我需要通过代码进行编程,所有通信都应通过主应用程序进行(这意味着hazelcast无法公开该端点,通过localhost使用http请求是不够的) 。我尝试查看文档,但没有找到任何帮助。

我发现唯一的发现是使用instance.getServer().getPartitionService().isLocalMemberSafe(),但我没有证据表明这实际上与检查就绪探针相同。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

/ready端点的exact logic是:

node.isRunning() && node.getNodeExtension().isStartCompleted()

我想您不能在代码中使用完全相同的代码,但是相当不错的近似值是:

  1. instance.getLifecycleService().isRunning()(唯一的区别是,它不会等到准备加入其他成员之后)
  2. instance.getPartitionService().isClusterSafe()(不同之处在于它将等待所有Hazelcast迁移完成)

您可以使用其中任何一个。如果您真的想确保Hazelcast成员在准备就绪时可以接收到流量,那么第二种选择是完全安全的。