getHealth est utilisé pour vérifier l’état de santé actuel d’un nœud RPC Solana. Un nœud sain est généralement considéré comme opérationnel et raisonnablement synchronisé avec le reste du cluster (notamment, dans une certaine distance de slot du dernier slot confirmé du cluster, connu sous le nom de HEALTH_CHECK_SLOT_DISTANCE).
Ce point de terminaison est crucial pour surveiller la santé du nœud, en particulier pour les applications ou infrastructures qui dépendent de la disponibilité et de la fiabilité d’un nœud RPC.
Comment ça fonctionne
La méthodegetHealth utilise le mécanisme POST JSON-RPC standard avec la méthode getHealth. Cette méthode vérifie si le nœud RPC est sain et synchronisé avec le cluster Solana.
Cas d’utilisation courants
- Surveillance des nœuds : Vérifiez régulièrement la santé des nœuds RPC pour s’assurer qu’ils sont opérationnels et synchronisés.
- Répartition de charge : Utilisez des vérifications de santé pour déterminer si un nœud doit recevoir du trafic dans une configuration d’équilibrage de charge.
- Systèmes de basculement : Déclenchez le basculement vers un nœud de sauvegarde si un nœud principal devient non sain.
- Débogage de la connectivité : Vérifiez rapidement si un nœud RPC est réactif.
Paramètres de requête
Cette méthode ne prend aucun paramètre.Structure de réponse
- Pour JSON-RPC
getHealthPOST :result:"ok"si le nœud est sain.- Il peut renvoyer un objet d’erreur ou d’autres valeurs de chaîne (comme
"behind"ou"unknown") si non sain, bien que la réponse d’erreur exacte pour un nœud non sain puisse être instable ou varier entre les fournisseurs.
Exemples
1. Vérifier la santé du nœud en utilisant JSON-RPC (POST avec cURL)
Conseils pour développeurs
- Définition de sain : “Sain” signifie généralement que le nœud est réactif et pas trop en retard par rapport à la pointe du cluster. La différence de slot exacte (
HEALTH_CHECK_SLOT_DISTANCE) peut être configurée sur le nœud. - Interpréter
"behind"ou"unknown": Si vous recevez"behind {distance}"ou"unknown", le nœud est opérationnel mais peut ne pas être entièrement à jour ou capable de déterminer son statut par rapport au cluster. Selon les exigences de votre application, vous pouvez traiter ces états différemment. - Différences entre fournisseurs : Le comportement exact et les codes/réponses pour un nœud non sain peuvent légèrement varier entre les fournisseurs RPC.
- Gestion des erreurs : Implémentez toujours une gestion appropriée des erreurs lors de l’appel de
getHealth, car des problèmes de réseau ou des problèmes de nœud peuvent entraîner l’échec complet de la requête.
getHealth pour surveiller l’état d’un nœud RPC Solana.