Назад | Перейти на главную страницу

В чем преимущество наличия ELB перед вашими серверами NGINX?

Я изучил множество настроек серверной части Amazon Web Services, особенно Instagram. На их Инженерный блог Instgram они упомянули, что у них есть Elastic Load Balancer перед их тремя серверами NGINX, который находится перед их серверами приложений, на которых работает django / Gunicorn, почему это (это для буферизации? кеширования?)

Если это так, как можно подключить эти серверы NGINX к серверам приложений django / gunicorn?

Глядя на пост в Instagram, я не верю, что они используют Nginx для буферизации или кеширования (хотя я могу ошибаться). Я использую нечто подобное, но с HAProxy вместо Nginx.

Некоторые из причин, по которым мы выбрали этот подход:

  • Nginx и HAProxy работают на уровне 7, а ELB - на более позднем уровне 4. Если вам нужны службы уровня 7, ELB не может их предоставить.
  • Плавное завершение соединения при сбое проверки работоспособности. ELB может продолжать передавать трафик в HAProxy / Nginx, пока трафик выводится из не обслуживаемого экземпляра. Видеть https://forums.aws.amazon.com/message.jspa?messageID=231571
  • При необходимости вы можете масштабировать уровень балансировки нагрузки в реальном времени.
  • Более точные показатели трафика и производительности каждого экземпляра за уровнем HAProxy / Nginx
  • ELB может определить, когда экземпляр HAProxy вышел из строя, и прекратить отправку на него трафика

Я могу вспомнить несколько моментов:

  1. Он распределяет запросы и контролирует работоспособность серверов, поэтому, если один из ваших серверов nginx выйдет из строя, сайт продолжит работать безупречно.
  2. На своей стороне Amazon предпринимает некоторые меры по смягчению последствий отказа в обслуживании. Если вы сами справитесь с балансировкой нагрузки, вы будете платить за весь трафик, попадающий в них. Если Amazon блокирует некоторые атаки, направленные на ваш ELB, вы не платите за эту часть.
  3. Позволяет заблокировать группы безопасности серверов nginx только для ELB, что делает их более безопасными, чем их открытие для общедоступного Интернета.