Configure las comprobaciones de estado de un servicio para supervisar el estado de los nodos de backend. La puerta de enlace saca automáticamente de línea o aísla los nodos con errores para garantizar la disponibilidad de la API. Un umbral de pánico mantiene las capacidades esenciales del servicio en situaciones extremas.
Casos de uso
Comprobación de estado activa: la puerta de enlace sondea los nodos del servicio mediante el envío de solicitudes TCP o HTTP. Los nodos con errores se sacan de línea automáticamente y se restauran tras su recuperación. Esto mejora la disponibilidad de la API en servicios con varias réplicas.
Comprobación de estado pasiva: la puerta de enlace supervisa el tráfico en vivo para detectar nodos con errores. Los nodos con índices altos de fallos se aíslan temporalmente y se restauran automáticamente después de recuperarse.
Umbral de pánico: evita que los fallos localizados provoquen una interrupción en todo el clúster. Para ello, enruta el tráfico a todos los nodos cuando quedan muy pocos nodos available.
Procedimiento
Las comprobaciones de estado TCP se habilitan de forma predeterminada al crear un servicio.
Inicie sesión en la consola de API Gateway.
En el panel de navegación izquierdo, haga clic en . En la barra de navegación superior, seleccione una región.
En la página Instance, haga clic en el ID de la instancia de destino.
En el panel de navegación izquierdo, haga clic en Service. A continuación, haga clic en la pestaña Services.
-
Haga clic en Health Check Configuration en la columna Actions del servicio de destino. Según el tipo de comprobación de estado, seleccione Enable y complete la configuración.
Comprobación de estado activa
En el panel Configure Health Check, habilite Active Health Check, configure los parámetros y haga clic en OK.
Parámetro
Ejemplo
Descripción
Protocolo de comprobación de estado
HTTP
-
TCP: envía paquetes SYN para comprobar si el puerto del servidor responde.
-
HTTP: envía una solicitud HTTP que simula un navegador para compruebe el estado de la aplicación del servidor.
Ruta de comprobación de estado
/
Ruta URI de la solicitud de comprobación de estado. Para obtener mejores resultados, utilice una página estática.
Códigos de estado normales
http_2xx
Los códigos de estado HTTP que indican una comprobación de estado exitosa.
Tiempo de espera de respuesta
2
Tiempo máximo de espera para recibir una respuesta de comprobación de estado. Si no se recibe ninguna respuesta, el sondeo falla. Unidad: segundos.
Intervalo de comprobación de estado
2
Intervalo entre sondeos consecutivos de comprobación de estado. Unidad: segundos.
Umbral de estado correcto
2
Número de comprobaciones exitosas consecutivas necesarias para marcar un nodo con errores como available.
Umbral de estado incorrecto
2
Número de comprobaciones fallidas consecutivas necesarias para marcar un nodo available como nodo con errores.
Comprobación de estado pasiva
En el panel Configure Health Check, habilite Passive Health Check, configure los parámetros y haga clic en OK.
Parámetro
Ejemplo
Descripción
Umbral de índice de fallos
80
Si el índice de fallos de solicitudes de un nodo alcanza este umbral, el sistema lo expulsa del pool de servicios. Unidad: %.
Intervalo de detección
30
Periodo durante el cual el sistema calcula el índice de fallos de cada nodo. Unidad: segundos.
Duración inicial de aislamiento
30
Duración base del aislamiento tras la expulsión. La duración real es
k * base_ejection_time, dondekcomienza en 1, se incrementa con cada expulsión y disminuye tras comprobaciones exitosas consecutivas. Unidad: segundos.NotaLa comprobación de estado pasiva requiere la versión 2.1.9 o posterior del motor de la puerta de enlace.
Al actualizar la configuración de la comprobación de estado pasiva, se restablece el estado de la comprobación y todos los nodos aislados vuelven al servicio.
-
Umbral de pánico
El umbral de pánico equilibra la disponibilidad y la exactitud para mantener las capacidades esenciales del servicio cuando la carga del sistema es alta o algunos nodos fallan.
Funcionamiento:
Si el porcentaje de nodos available es mayor que el umbral de pánico, las comprobaciones de estado funcionan con normalidad. Solo los nodos available reciben tráfico.
Si el porcentaje de nodos available es menor o igual que el umbral de pánico, el sistema entra en modo de pánico. Se omiten las comprobaciones de estado y las solicitudes se distribuyen equitativamente entre todos los nodos, incluidos los que tienen errores o los expulsados.
Enrutar el tráfico a nodos con errores mejora la tolerancia a fallos y la disponibilidad general.
El valor predeterminado del umbral de pánico es 1 %. Cuando los nodos available caen a este porcentaje o menos, el sistema entra en modo de pánico y enruta las solicitudes a todos los nodos.
Ajuste este umbral según sus requisitos de negocio y sus capacidades de recuperación ante desastres.
Solución de problemas de comprobaciones de estado con errores
Fallos generales en las comprobaciones de estado
Siga estos pasos:
-
Una comprobación de estado TCP con errores indica que no se puede establecer conexión con el nodo. Compruebe a continuación:
Que el nodo exista.
Que las conexiones simultáneas no superen la capacidad del nodo.
Si una comprobación de estado HTTP falla, cambie a TCP para compruebe la conectividad. Si la comprobación TCP es exitosa, compruebe la ruta de comprobación de estado. Use curl o Postman para probar el endpoint.
Fallos en las comprobaciones de estado de servicios nuevos
Siga estos pasos:
-
Asegúrese de que la puerta de enlace y la instancia de servicio estén en la misma VPC. Si se encuentran en VPC distintas, conéctelas mediante Cloud Enterprise Network (CEN) o una conexión dedicada.
NotaLa puerta de enlace no admite servicios locales registrados mediante Nacos o ZooKeeper.
Compruebe que las VPC de la puerta de enlace y de la instancia de servicio sean iguales o estén conectadas.
Compruebe que la autorización del security group esté configurada. Para los servicios de ACK, autorice el security group del clúster de contenedores tal como se describe en Configure security group rules.
Si la instancia con errores utiliza una dirección IP pública, compruebe que haya una puerta de enlace NAT pública habilitada para la VPC de la puerta de enlace.