getHealth-Endpoint wird verwendet, um den aktuellen Gesundheitsstatus eines Solana RPC-Nodes zu überprüfen. Ein gesunder Node wird im Allgemeinen als funktionsfähig und einigermaßen synchron mit dem Rest des Clusters betrachtet (insbesondere innerhalb einer bestimmten Slot-Entfernung des zuletzt vom Cluster bestätigten Slots, bekannt als HEALTH_CHECK_SLOT_DISTANCE).
Dieser Endpoint ist entscheidend für die Überwachung der Node-Gesundheit, insbesondere für Anwendungen oder Infrastrukturen, die auf die Verfügbarkeit und Zuverlässigkeit eines RPC-Nodes angewiesen sind.
Funktionsweise
Die MethodegetHealth verwendet den standardmäßigen JSON-RPC POST-Mechanismus mit der Methode getHealth. Diese Methode überprüft, ob der RPC-Node gesund und mit dem Solana-Cluster synchronisiert ist.
Häufige Anwendungsfälle
- Node-Überwachung: Regelmäßig die Gesundheit von RPC-Nodes überprüfen, um sicherzustellen, dass sie funktionsfähig und synchronisiert sind.
- Lastverteilung: Gesundheitsprüfungen verwenden, um festzustellen, ob ein Node in einer Lastverteilungskonfiguration Datenverkehr erhalten soll.
- Failover-Systeme: Failover zu einem Backup-Node auslösen, wenn ein primärer Node ungesund wird.
- Verbindungs-Debugging: Schnell feststellen, ob ein RPC-Node ansprechbar ist.
Anforderungsparameter
Diese Methode erfordert keine Parameter.Antwortstruktur
- Für JSON-RPC
getHealthPOST:result:"ok", wenn der Node gesund ist.- Es könnte ein Fehlerobjekt oder andere Zeichenfolgenwerte zurückgeben (wie
"behind"oder"unknown"), wenn ungesund, obwohl die genaue Fehlerantwort für einen ungesunden Node instabil oder zwischen Anbietern variieren kann.
Beispiele
1. Node-Gesundheit überprüfen mit JSON-RPC (POST mit cURL)
Entwickler-Tipps
- Definition von Gesund: “Gesund” bedeutet im Allgemeinen, dass der Node ansprechbar und nicht zu weit hinter dem Tipp des Clusters zurückliegt. Der genaue Slot-Unterschied (
HEALTH_CHECK_SLOT_DISTANCE) kann auf dem Node konfiguriert werden. - Interpretation von
"behind"oder"unknown": Wenn Sie"behind {distance}"oder"unknown"erhalten, ist der Node betriebsbereit, aber möglicherweise nicht vollständig synchronisiert oder in der Lage, seinen Status relativ zum Cluster zu bestimmen. Je nach Anforderungsprofil Ihrer Anwendung könnten Sie diese Zustände unterschiedlich behandeln. - Unterschiede zwischen Anbietern: Das genaue Verhalten und die Antwortcodes/-körper für einen ungesunden Node können leicht zwischen RPC-Anbietern variieren.
- Fehlerbehandlung: Implementieren Sie immer eine ordnungsgemäße Fehlerbehandlung, wenn Sie
getHealthaufrufen, da Netzwerkprobleme oder Node-Probleme dazu führen können, dass die Anforderung vollständig fehlschlägt.
getHealth-Endpoint zur Überwachung des Status eines Solana RPC-Nodes zu verwenden.