Я не думаю, что есть абсолютный ответ на этот вопрос, поэтому я просто выбрасываю свои текущие (случайные) мысли.
Во-первых, это зависит от того, для чего вы используете nginx. Если он используется для размещения веб-сайта с веб-упаковкой, то вам наверняка понадобится один nginx для каждой вашей службы frontend
в сочетании с worker_processes
в nginx.conf
, у вас есть простое решение для балансировки нагрузки для внешнего интерфейса. Если вы хотите использовать обратный прокси-сервер для балансировки нагрузки, достаточно одного экземпляра для небольшого кластера (когда он становится больше, вы можете добавить еще, чтобы сформировать многоуровневый балансировщик нагрузки).
Второй рой на самом деле имеет собственный балансировщик нагрузки , который работает "из коробки".
В-третьих, также необходимо учитывать сложность настройки nginx. Лично я не думаю, что nginx достаточно прост в настройке и отладке. Современные решения, такие как traefik.io, проще в использовании и построены с учетом кластеризации и имеют дополнительные функции, такие как автоматическая настройка https с помощью let'encrypt.