getHealth
端点用于检查 Solana RPC 节点的当前健康状态。一个健康的节点通常被认为是可以操作的,并且与集群的其余部分合理同步(特别是在最新集群确认槽位的某个槽位距离内,称为 HEALTH_CHECK_SLOT_DISTANCE
)。
此端点对于监控节点健康至关重要,尤其是对于依赖于 RPC 节点的可用性和可靠性的应用程序或基础设施。
工作原理
getHealth
方法使用标准的 JSON-RPC POST 机制,方法为 getHealth
。此方法检查 RPC 节点是否健康并与 Solana 集群同步。
常见用例
- 节点监控: 定期检查 RPC 节点的健康状况,以确保它们可以操作并同步。
- 负载均衡: 使用健康检查来确定节点是否应在负载均衡设置中接收流量。
- 故障转移系统: 如果主节点变得不健康,则触发故障转移到备用节点。
- 调试连接性: 快速确定 RPC 节点是否响应。
请求参数
此方法不需要任何参数。响应结构
- 对于 JSON-RPC
getHealth
POST:result
:如果节点健康,则为"ok"
。- 如果不健康,可能会返回错误对象或其他字符串值(如
"behind"
或"unknown"
),尽管不健康节点的确切错误响应可能不稳定或因提供商而异。
示例
1. 使用 JSON-RPC 检查节点健康状况(使用 cURL 的 POST 请求)
开发者提示
- 健康的定义: “健康” 通常意味着节点响应正常,并且没有落后于集群的最新状态太多。确切的槽位差异(
HEALTH_CHECK_SLOT_DISTANCE
)可以在节点上配置。 - 解释
"behind"
或"unknown"
: 如果收到"behind {distance}"
或"unknown"
,则表示节点正在运行,但可能尚未完全同步或无法确定其相对于集群的状态。根据应用程序的要求,您可能会对这些状态进行不同的处理。 - 提供者差异: 不健康节点的确切行为和响应代码/主体可能在不同的 RPC 提供者之间略有不同。
- 错误处理: 在调用
getHealth
时始终实现适当的错误处理,因为网络问题或节点问题可能导致请求完全失败。
getHealth
端点监控 Solana RPC 节点状态的必要信息。