Не становится ли Nginx избыточным, если у нас есть балансировщик нагрузки приложения AWS для приложения Node? - PullRequest
2 голосов
/ 28 октября 2019

У меня есть приложение Node, работающее на AWS. При переходе в производство очень велика вероятность получения большого количества запросов. Я планирую разместить его с помощью AWS ECS, и перед приложением будет установлен балансировщик нагрузки приложения AWS. Когда я посмотрел «Как развернуть приложение Node в рабочей среде», я увидел, что все предлагают использовать Nginx перед приложением Node.

Я сомневаюсь, что, если у нас есть ALB в архитектуре, нам также нужно добавить Nginx? Есть ли какое-то преимущество, если мы используем Nginx, если нам нужно разместить приложение для 1 миллиона пользователей?

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Это зависит от того, как вы используете NGINX для балансировки нагрузки. Балансировщик нагрузки приложений, несомненно, обладает множеством функций, которые могут сделать NGINX избыточным в вашей архитектуре, но он не так совершенен, как NGINX. Например, ALB использует только циклическое распределение нагрузки, в то время как вы можете настроить nginx для циклического перебора, наименьшего соединения и т. Д. ALB не имеет никаких возможностей кэширования, в то время как nginx обеспечивает кэширование статического содержимого. ALB использует только маршрутизацию на основе пути, в то время как nginx может маршрутизировать по заголовкам запросов, файлам cookie или аргументам, а также по URL-адресу запроса.

Для дальнейшего чтения и источника: https://www.nginx.com/blog/aws-alb-vs-nginx-plus/

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

0 голосов
/ 28 октября 2019

Это зависит от остальной части вашей архитектуры. Если ALB может обработать все для вас, вам, вероятно, не нужен nginx. Кроме того, nginx имеет кривую обучения на случай, если вы впервые пользуетесь им.

...