Fallos de comprobación de estado y errores 502 con instancias de HAProxy y Golang Fiber

Fallos de comprobación de estado y errores 502 con instancias de HAProxy y Golang Fiber

Tengo una configuración donde el Servidor A actúa como cliente y se comunica con el Servidor B a través de HAProxy. El servidor B ejecuta cuatro instancias de Golang Fiber similares, cada una con Prefork habilitado en una instancia EC2 t3xlarge. El servidor B maneja miles de solicitudes por segundo. Sin embargo, he notado problemas con las comprobaciones de estado y errores 502 devueltos por HAProxy, lo que probablemente indica controles de salud fallidos.

Configuración de interfaz:

frontend apifront
    bind *:9898
    maxconn 50000
    mode http
    log global
    default_backend apiserver

Configuración de fondo:

backend apiserver
    mode http
    option http-keep-alive
    timeout connect 5s
    timeout server 30s
    timeout queue 60s
    timeout check 5s
    timeout http-request 10s
    timeout http-keep-alive 10s
    http-reuse safe
    log global
    option httpchk GET /health
    balance roundrobin
    server apiserver1 localhost:9881 check
    server apiserver2 localhost:9882 check
    server apiserver3 localhost:9883 check
    server apiserver4 localhost:9884 check

Observaciones:

  1. Todos los servidores fallan las comprobaciones de estado más veces de lo esperado.
  2. HAProxy devuelve errores 502 frecuentes como se ve en los registros del servidor A

Preguntas:

  1. ¿Se espera el comportamiento observado de fallas frecuentes en las comprobaciones de estado y errores 502 en esta configuración?
  2. ¿Existen formas de solucionar problemas e identificar la causa raíz de las fallas en las comprobaciones de estado?
  3. ¿Qué ajustes o ajustes se pueden hacer para mejorar la confiabilidad de los controles de salud y reducir los errores 502?
  4. Como recién llegado a las configuraciones de configuración del servidor, ¿existen mejores prácticas o comprobaciones adicionales que debo considerar?

Cualquier idea u orientación para resolver este problema será muy apreciada. También estoy dispuesto a proporcionar más detalles sobre mi configuración que puedan ayudar. ¡Gracias!

información relacionada