Qual é a vantagem de ter o ELB na frente dos seus servidores NGINX?

2

Eu examinei muitas configurações de back-end no Amazon Web Services, especialmente as do Instagram. Em suas Instgram Engineering Blog eles mencionaram como eles têm um Elastic Load Balancer na frente de seus três servidores NGINX, que estão na frente de seus servidores de aplicativos que executam o django / Gunicorn, por que isso é (para armazenar em buffer? caching?)

Se for esse o caso, como podemos conectar esses servidores NGINX aos servidores de aplicativos django / gunicorn?

    
por noahandthewhale 16.04.2013 / 20:29

2 respostas

3

Olhando para o post no Instagram, eu não acredito que eles estejam usando o Nginx para armazenamento em buffer ou cache (embora eu possa estar errado). Eu uso algo semelhante, mas com HAProxy em vez de Nginx.

Algumas das razões pelas quais adotamos essa abordagem:

  • O Nginx e o HAProxy operam na camada 7, enquanto o ELB é posterior a 4. Se você precisar de serviços da camada 7, o ELB não pode fornecê-lo
  • Finalização de conexão elegante quando as verificações de integridade falham. O ELB pode continuar passando o tráfego para HAProxy / Nginx enquanto o tráfego é liberado da instância fora de serviço. Consulte o link
  • Você pode dimensionar a camada de balanceamento de carga ao vivo, se necessário
  • Melhores métricas sobre tráfego e desempenho de cada instância por trás da camada HAProxy / Nginx
  • O ELB pode detectar quando uma instância de HAProxy falhou e parar de enviar tráfego para ela
por 24.04.2013 / 19:58
2

Alguns pontos que posso pensar:

  1. Ele distribui solicitações e monitora a integridade dos servidores, portanto, se um dos seus servidores nginx travar, o site continuará funcionando perfeitamente.
  2. A Amazon faz algumas ações de mitigação de negação de serviço. Se você mantiver o balanceamento de carga, pagará todo o tráfego. Se a Amazon bloquear alguns ataques direcionados ao seu ELB, você não estará pagando por essa parte.
  3. Permite que você bloqueie os grupos de segurança dos servidores nginx para apenas o ELB, tornando-os mais seguros do que tê-los abertos para a Internet pública.
por 16.04.2013 / 20:47