Skip to main content
El endpoint getHealth se usa para comprobar el estado actual de un nodo RPC de Solana. Por lo general, un nodo se considera saludable si está operativo y razonablemente sincronizado con el resto del clúster (específicamente, si se encuentra dentro de una distancia determinada de slots respecto al último slot confirmado del clúster, conocida como HEALTH_CHECK_SLOT_DISTANCE). Este endpoint es crucial para monitorear el estado de los nodos, especialmente en aplicaciones o infraestructuras que dependen de la disponibilidad y confiabilidad de un nodo RPC.

Cómo funciona

El método getHealth usa el mecanismo POST estándar de JSON-RPC con el método getHealth. Este método comprueba si el nodo RPC está saludable y sincronizado con el clúster de Solana.

Casos de uso comunes

  • Monitoreo de nodos: Comprueba periódicamente el estado de los nodos RPC para asegurarte de que estén operativos y sincronizados.
  • Balanceo de carga: Usa comprobaciones de estado para determinar si un nodo debe recibir tráfico en una configuración con balanceo de carga.
  • Sistemas de conmutación por error: Activa la conmutación a un nodo de respaldo si un nodo principal deja de estar saludable.
  • Depuración de conectividad: Determina rápidamente si un nodo RPC responde.

Parámetros de solicitud

Este método no recibe ningún parámetro.

Estructura de la respuesta

  • Para una solicitud POST de JSON-RPC getHealth:
    • result: "ok" si el nodo está saludable.
    • Si el nodo no está saludable, puede devolver un objeto de error u otros valores de cadena (como "behind" o "unknown"), aunque la respuesta de error exacta puede ser inestable o variar entre proveedores.

Ejemplos

1. Comprobar el estado del nodo mediante JSON-RPC (POST con cURL)

Respuesta JSON-RPC esperada (para un nodo saludable):

Consejos para desarrolladores

  • Definición de saludable: Por lo general, «saludable» significa que el nodo responde y no está demasiado retrasado respecto a la punta del clúster. La diferencia exacta de slots (HEALTH_CHECK_SLOT_DISTANCE) puede configurarse en el nodo.
  • Interpretación de "behind" o "unknown": Si recibes "behind {distance}" o "unknown", el nodo está operativo, pero es posible que no esté completamente actualizado o que no pueda determinar su estado con respecto al clúster. Según los requisitos de tu aplicación, puedes tratar estos estados de manera diferente.
  • Diferencias entre proveedores: El comportamiento exacto y los códigos o cuerpos de respuesta de un nodo que no está saludable pueden variar ligeramente entre proveedores de RPC.
  • Manejo de errores: Implementa siempre un manejo de errores adecuado al llamar a getHealth, ya que los problemas de red o del nodo pueden hacer que la solicitud falle por completo.
Esta guía proporciona la información necesaria para usar el endpoint getHealth a fin de monitorear el estado de un nodo RPC de Solana.