amazon-web-services – Balanceador de carga de aplicaciones de AWS frente al balanceador de carga de red

Pregunta:

Estoy tratando de entender cuáles son las diferencias clave entre ALB (Application Load Balancer) y NLB (Network Load Balancer). Entiendo que ALB está en la capa 7 en el modelo OSI, esto significa que existe en el nivel de la aplicación, y NLB está en la capa 4, lo que significa que funciona en el nivel de transporte.

Dicho esto, esto significa que el ALB solo puede manejar solicitudes HTTP / HTTPS, a diferencia del NLB que puede manejar cualquier tipo de solicitudes TCP.

Entonces mi pregunta es … ¿eso es todo? ¿O hay otras diferencias?

Respuesta:

El equilibrio de carga de la red es la distribución del tráfico según las variables de la red, como la dirección IP y los puertos de destino. Es la capa 4 (TCP) e inferior y no está diseñada para tener en cuenta nada en la capa de la aplicación, como el tipo de contenido, los datos de las cookies, los encabezados personalizados, la ubicación del usuario o el comportamiento de la aplicación. No tiene contexto, y solo se preocupa por la información de la capa de red contenida en los paquetes que dirige de esta manera y de aquella.

El equilibrio de carga de la aplicación es la distribución de solicitudes en función de múltiples variables, desde la capa de red hasta la capa de aplicación. Es sensible al contexto y puede dirigir solicitudes basadas en una sola variable tan fácilmente como lo hace con una combinación de variables. La carga de las aplicaciones se equilibra en función de su comportamiento peculiar y no únicamente en la información del servidor (sistema operativo o capa de virtualización).

La diferencia entre los dos es importante porque el equilibrio de carga de la red no puede garantizar la disponibilidad de la aplicación. Esto se debe a que basa sus decisiones únicamente en las variables de la capa de red y TCP y no tiene conocimiento de la aplicación en absoluto. Generalmente, un equilibrador de carga de red determinará la "disponibilidad" en función de la capacidad de un servidor para responder al ping ICMP o para completar correctamente el protocolo de enlace TCP de tres vías. Un equilibrador de carga de aplicaciones va mucho más allá y es capaz de determinar la disponibilidad basándose no solo en un HTTP GET exitoso de una página en particular, sino también en la verificación de que el contenido es el esperado según los parámetros de entrada.

Esto también es importante tener en cuenta al considerar la implementación de múltiples aplicaciones en el mismo host que comparten direcciones IP (hosts virtuales en la vieja escuela). Un equilibrador de carga de red no diferenciará entre la Aplicación A y la Aplicación B al verificar la disponibilidad (de hecho, no puede hacerlo a menos que los puertos sean diferentes), pero un equilibrador de carga de la aplicación diferenciará entre las dos aplicaciones al examinar los datos de la capa de aplicación disponibles. Esta diferencia significa que un equilibrador de carga de red puede terminar enviando solicitudes a una aplicación que se ha bloqueado o está fuera de línea, pero un equilibrador de carga de la aplicación nunca cometerá el mismo error.

Referencia:

Equilibrio de carga de red versus equilibrio de carga de aplicaciones

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım