security - Hazelcast 就绪探针
问题描述
我知道 /hazelcast/health/ready 在端口 5701 上有一个可用的探针。
但是,我需要通过代码以编程方式执行此操作,因为我使用的是部署在 kubernetes 集群上的嵌入式 hazelcast,并且所有通信都应该通过主应用程序(这意味着 hazelcast 不能公开该端点,通过 localhost 使用 http 请求是不够的)。我尝试查看文档,但没有找到任何帮助。
我发现的唯一一件事就是使用instance.getServer().getPartitionService().isLocalMemberSafe()
,但我没有证据表明这实际上与检查就绪探测相同。
任何帮助将不胜感激,谢谢!
解决方案
端点的确切逻辑是:/ready
node.isRunning() && node.getNodeExtension().isStartCompleted()
我猜你不能在代码中使用完全相同的,但相当好的近似值是:
instance.getLifecycleService().isRunning()
(唯一的区别是它不会等待准备加入其他成员)instance.getPartitionService().isClusterSafe()
(不同的是它将等待所有 Hazelcast 迁移完成)
你可以使用它们中的任何一个。如果您想真正确定 Hazelcast 成员可以在准备好时接收流量,那么第二个选项是完全安全的。
推荐阅读
- php - 来自数据库的 PHP 显示 blob
- .net - VSTO 安装程序创建的路径
- python - 在 Keras 中使用 imagedatagenerator 添加更多的训练数据集
- python - 硬币条纹不起作用。是因为嵌套的ifs吗?
- django - 如何更改 xlwt 中的日期格式以及如何在 django 上设置外键?
- linux - sysfs_create_group() 不删除属性
- office-js - Outlook Mail REST API v2.0 OData URL 功能
- lotus-domino - HCL Volt 服务到另一个 Notes 数据库
- c# - 如何使用 NAudio 减小文件大小/压缩 mp3 文件
- regex - 正则表达式匹配逗号之间的管道符号,之间没有字符串文本