Сбои проверки работоспособности и ошибки 502 с экземплярами HAProxy и Golang Fiber

Сбои проверки работоспособности и ошибки 502 с экземплярами HAProxy и Golang Fiber

У меня есть настройка, в которой сервер A выступает в качестве клиента, взаимодействуя с сервером B через HAProxy. Сервер B запускает четыре похожих экземпляра Golang Fiber, каждый с включенным Prefork на экземпляре EC2 t3xlarge. Сервер B обрабатывает тысячи запросов в секунду. Однако я заметил проблемы с проверками работоспособности и ошибки 502, возвращаемые HAProxy, что, вероятно, указывает на неудачные проверки работоспособности.

Конфигурация интерфейса:

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

Конфигурация бэкэнда:

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

Наблюдения:

  1. Все серверы не проходят проверки работоспособности чаще, чем ожидалось.
  2. HAProxy часто возвращает ошибки 502, как видно из журналов сервера A.

Вопросы:

  1. Ожидается ли наблюдаемое поведение частых сбоев проверки работоспособности и ошибок 502 в данной настройке?
  2. Существуют ли способы устранения неполадок и определения первопричины сбоев проверки работоспособности?
  3. Какие корректировки или доработки можно внести для повышения надежности проверок работоспособности и сокращения количества ошибок 502?
  4. Какие рекомендации или дополнительные проверки мне, новичку в настройке серверов, следует учитывать?

Буду очень признателен за любые идеи или рекомендации по решению этой проблемы. Я также готов предоставить любые дополнительные сведения о моей настройке, которые помогут. Спасибо!

Связанный контент