【问题标题】:Hazelcast readiness probeHazelcast 就绪探针
【发布时间】:2020-06-16 21:08:52
【问题描述】:

我知道 /hazelcast/health/ready 在端口 5701 上有一个可用的探测器。

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

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

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

【问题讨论】:

    标签: security kubernetes hazelcast


    【解决方案1】:

    /ready 端点的 exact logic 是:

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

    我猜你不能在代码中使用完全相同的值,但相当好的近似值是:

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

    您可以使用其中任何一个。如果您想真正确定 Hazelcast 成员可以在准备好时接收流量,那么第二个选项是完全安全的。

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 2020-03-21
      相关资源
      最近更新 更多