Páginas

quinta-feira, 31 de outubro de 2024

 

Diferenças entre o Application load balancer (ALB) e o Network load balancer (NLB) na WAS


Compação: ALB vs NLB na AWS — Application load balancer vs Network load balancer.

 


 

 Tanto o Application Load Balancer quanto o Network Load Balancer foram projetados desde o início para o paradigma moderno de configurações de portas dinâmicas, como comumente visto em implantações em contêineres. A escolha do balanceador de carga certo para você dependerá das necessidades específicas do seu aplicativo, como se o tráfego de rede é HTTP ou não, se você precisa de criptografia SSL/TLS de ponta a ponta e se deseja ou não host e caminho roteamento de tráfego
Se você estiver implantando contêineres docker e usando um balanceador de carga para enviar tráfego de rede a eles, o EC2 Container Service fornecerá forte integração com ALB e NLB para que você possa manter seus balanceadores de carga sincronizados ao iniciar, atualizar e interromper contêineres em sua frota.

 

Balanceador de carga de aplicativo (ALB)

Esta é a distribuição de solicitações com base em múltiplas variáveis, desde a camada de rede até a camada de aplicação. Ele reconhece o contexto e pode direcionar solicitações com base em qualquer variável única com a mesma facilidade com que faz uma combinação de variáveis. Os aplicativos são balanceados em carga com base em seu comportamento peculiar e não apenas nas informações do servidor (sistema operacional ou camada de virtualização).

Este é um balanceador de carga de camada 7 preenchido com recursos, apenas ouvintes HTTP e HTTPS. Fornece a capacidade de rotear o tráfego HTTP e HTTPS com base em regras, baseadas em host ou em caminho. Como um NLB, cada Target pode estar em portas diferentes. Até suporta HTTP/2. Gama configurável de códigos de status de verificação de integridade (CLB suporta apenas 200 OK para verificações de integridade HTTP).

Protocolos: HTTP, HTTPS

Versões dos protocolos: HTTP/1.1, HTTP/2, gRPC

Tipos de destino: Instance, IP, Lambda

Com o ALB, é necessário ativar pelo menos duas ou mais Availability Zones

 

Balanceador de carga de rede (NLB)

Esta é a distribuição do tráfego com base em variáveis ​​de rede, como endereço IP e portas de destino. É Camada 4 (TCP) e inferior e não foi projetado para levar em consideração nada na camada do aplicativo, como tipo de conteúdo, dados de cookies, cabeçalhos personalizados, localização do usuário ou comportamento do aplicativo. É sem contexto, preocupando-se apenas com as informações da camada de rede contidas nos pacotes que está direcionando para um lado e para o outro.

Este é apenas um balanceador de carga TCP que faz alguma mágica NAT no nível VPC. Ele usa EIPs, portanto possui um endpoint estático diferente de ALB e CLBs (por padrão). Cada destino pode estar em portas diferentes.

Protocolos: TLS, TCP, UDP, TCP_UDP

Versões dos protocolos:TLS, TCP, UDP, TCP_UDP

Tipos de destino: Instance, IP, Lambda

Com o NLB, o Elastic Load Balancing cria uma interface de rede para cada Availability Zones habilitada.

 

                                                          Casos de uso

Escolha ALB se:

    O Application Load Balancer é mais adequado para balanceamento de carga de tráfego HTTP e HTTPS e fornece roteamento avançado de solicitações direcionado ao fornecimento de arquiteturas de aplicativos modernas, incluindo microsserviços e contêineres.
    Os aplicativos precisam de roteamento avançado (baseado em host, baseado em URL, baseado em string de consulta).
    Execute vários serviços (microsserviços) atrás de um único balanceador de carga.

 

Escolha NLB se:

    O Network Load Balancer é mais adequado para balanceamento de carga de tráfego TCP onde é necessário desempenho extremo. Ele é capaz de lidar com milhões de solicitações por segundo, mantendo latências ultrabaixas, e é otimizado para lidar com padrões de tráfego repentinos e voláteis.
    Você deseja compartilhar/expor seus serviços (por exemplo, serviços SaaS) a outros consumidores em diferentes VPCs usando PrivateLink VPC Endpoint.
    Você precisa de um endereço IP estático que possa ser usado pelos aplicativos como IP front-end do balanceador de carga.

 

 

 

 

Nenhum comentário:

Postar um comentário