Nginx балансировщик нагрузки при высокой нагрузке (ошибка 502) - PullRequest
0 голосов
/ 12 января 2020

Основная проблема: Мы используем "Nginx входной контроллер" для балансировки трафика c для "единорога" рабочих. Для проверки работоспособности приложения K8 отправляют каждые 30 секунд запрос на «http://myHost/health/check.json» и используют для этого одного работника-единорога. В то время как рабочие заняты, например, 3 заняты из 3 доступных k8s думают, что модуль является нездоровым и перезапускают модуль.

Следующая проблема: Пока мы используем Nginx повторов, входной контроллер Nginx получает высокую нагрузку на трафик c и ответ 502 ошибки запроса, который пытается получить ответ. Срок действия запроса - это установленное нами время ожидания.

Примечания:

  1. На данный момент мы не можем изменить рабочую форму единорога на что-то другое.
  2. Мы используем модуль "Lua" в Nginx.
  3. Наш входной контроллер имеет гораздо большее значение, чем Nginx коляска, поскольку он обслуживает более одной службы.
  4. Поток [Трафик] -> [Nginx входной контроллер] -> [Nginx коляска] -> [Рабочие Единорога]

Наши вопросы:

  1. Как защитить единорога / стручка для поддержания активности?
  2. Какой самый надежный способ запроса сна в Nginx?
  3. Какой безопасный способ ограничить соединение?
  4. Как использовать повторные попытки в Nginx и Nginx входном контроллере и не получить код ошибки 502?
...