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

#docker #nginx #docker-compose

#докер #nginx #докер-составить

Вопрос:

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

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

Комментарии:

1. Какой подход вы в конечном итоге выбрали?

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

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

Ответ №1:

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

Например, у нас есть DNS -> F5 -> Nginx -> Nginx -> серверная часть на работе. Никаких проблем.

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

Комментарии:

1. Итак, в принципе, лучше иметь контейнер Nginx для каждого контейнера website docker?

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

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

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

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