Один Nginx Docker против нескольких Nginx Docker для веб-сайтов

Простите меня, если я задаю глупый вопрос, но я создаю сервер, на котором я буду размещать несколько веб-сайтов Flask, Docker Container, используя Nginx Docker. Теперь у меня вопрос: лучше ли иметь один основной док-контейнер nginx, а затем размещать на нем все мои контейнеры Docker для веб-сайтов, или иметь док-контейнер Nginx для каждого приложения с компоновкой докеров?

Я хочу знать с точки зрения обработки ресурсов и эффективности, какой из них лучше выбрать?

Какой подход вы в итоге выбрали?

lonix 11.06.2022 10:04

Теперь я использую контейнер докеров для каждого веб-сайта, который я размещаю. Я считаю, что это лучший подход для моего случая. Я могу обслуживать каждый отдельно, и единой точки отказа тоже нет :)

Mervin Hemaraju 26.06.2022 19:52

Спасибо! Да, я пришел к такому же выводу. Вы также используете другой контейнер nginx в качестве «маршрутизатора», который передает запросы каждому из других контейнеров nginx? Я вижу, что некоторые люди тоже так делают, но я не уверен, что это необходимо.

lonix 27.06.2022 08:34
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
3
3
446
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Многие дороги ведут в Рим. Если вы следуете «микросервисному подходу», то есть вы ближе к серверной части с путями Nginx и т. д., у вас есть преимущество, заключающееся в том, что вы можете изменить или сломать один сервис, не оказывая большого влияния на другие.

Например, у нас есть DNS -> F5 -> Nginx -> Nginx -> бэкэнд на работе. Без проблем.

Nginx (контейнер) не потребляет много ресурсов, отчасти потому, что он запрограммирован на C.

Так что в принципе лучше иметь контейнер Nginx для каждого док-контейнера веб-сайта?

Mervin Hemaraju 18.12.2020 19:43

Да. Но у всего есть преимущества и недостатки. Помимо избыточности и принципа «разделяй и властвуй», например, я бы также обратил внимание на затраченное время, KISS и безопасность. Конечно, проще сделать все в одном, но тогда все сервисы падают, когда приходится перезагружать или возникает проблема с этим одним Nginx.

qräbnö 18.12.2020 19:54

Это было очень поучительно. Я боялся, что наличие большого количества док-контейнеров nginx потребует много ресурсов. Большое спасибо за ваш ответ

Mervin Hemaraju 18.12.2020 19:56

Без проблем. Сколько экземпляров Flask вы хотите запустить?

qräbnö 18.12.2020 19:58

В настоящее время у меня есть 2 API и 2 веб-сайта. Это может увеличиться в будущем...

Mervin Hemaraju 18.12.2020 20:00

Nginx может обрабатывать столько запросов, сколько вы не сможете быстро отследить, просматривая файл журнала с помощью tail -f, и потратить, возможно, 300 МБ ОЗУ.

qräbnö 18.12.2020 20:02

@qräbnö У вас есть один контейнер nginx для каждого стека приложения — если n контейнеров приложений, то n контейнеров nginx. Вы также используете другой контейнер nginx впереди в качестве «маршрутизатора», который передает запросы другим контейнерам nginx? Это вообще необходимо?

lonix 27.06.2022 08:37

Другие вопросы по теме