Un equilibrador de carga permite distribuir dinámicamente el tráfico de red entre los recursos (locales o en la nube) para dar soporte a una aplicación.
Un equilibrador de carga es una solución que actúa como un proxy de tráfico y distribuye el flujo de red o de aplicaciones entre los puntos de conexión de varios servidores. Su principal función es equilibrar la capacidad durante los picos de tráfico y mejorar la fiabilidad de las aplicaciones. Al reducir la carga en servicios o nubes individuales, optimizan el rendimiento general de las aplicaciones. Además, distribuyen la demanda entre distintas superficies de computación, lo que ayuda a mantener la continuidad de las sesiones tanto de aplicaciones como de red.
Las aplicaciones modernas deben procesar millones de sesiones simultáneamente y devolver a cada usuario el texto, los vídeos, las imágenes y otros datos correctos de forma rápida y fiable. Para gestionar volúmenes de tráfico tan elevados, la mayoría de las aplicaciones tienen muchos servidores de recursos con datos duplicados entre ellos.
El equilibrio de carga distribuye el tráfico de red de forma dinámica a través de una red de recursos que respaldan una aplicação . Un balanceador de carga es el dispositivo o servicio que se encuentra entre el usuario y el grupo de servidores y actúa como un facilitador invisible, garantizando que todos los servidores de recursos se utilicen por igual. Un balanceador de carga ayuda a aumentar la confiabilidad y la disponibilidad, incluso en momentos de alto uso y demanda, y garantiza un mayor tiempo de actividad y una mejor experiencia del usuario.
En algunos casos, es esencial que todas las solicitudes de un cliente se envíen al mismo servidor durante la duración de una sesión, por ejemplo, cuando un cliente coloca artículos en un carrito de compras y luego completa la compra. Mantener la conexión entre el cliente y el servidor se conoce como persistencia de la sesión . Sin persistencia de sesión, la información debe sincronizarse entre servidores y potencialmente recuperarse varias veces, lo que crea ineficiencias en el rendimiento.
Los usuarios y clientes dependen de una capacidad casi en tiempo real para encontrar información y realizar transacciones. Los tiempos de espera o las respuestas poco fiables e incoherentes —incluso en los momentos de mayor demanda y uso— pueden alejar a un cliente para siempre. Y los picos elevados de necesidad de computación pueden causar estragos en un servidor interno o en un sistema de servidores si la demanda entrante —o «carga»— es demasiado alta para gestionarse con facilidad.
Las ventajas de utilizar un balanceador de carga incluyen:
Existen dos tipos de algoritmos de equilibrado de carga según su funcionamiento: estáticos y dinámicos. El equilibrado de carga estático mide la carga entrante utilizando algoritmos que cuentan con información sobre la capacidad de rendimiento de los servidores en la red distribuida. Por su parte, el equilibrado de carga dinámico identifica de manera dinámica, durante el tiempo de ejecución, la cantidad de carga que debe redistribuirse y el sistema que debe asumirla. Está diseñado para entornos con grandes fluctuaciones en la carga entrante.
Los siguientes son algunos de los tipos comunes de algoritmos de equilibrio de carga.
El equilibrio de carga responde estática o dinámicamente a la solicitud de un usuario y la distribuye a uno de los servidores back-end capaces de satisfacerla. Si uno de los servidores se cae, el equilibrador de carga redirige el tráfico al resto de servidores en línea.
Un ejemplo de equilibrio de carga estático: Una empresa aloja un sitio web con contenido en gran parte estático. Este escenario sería ideal para un balanceador de carga estático porque las necesidades de tráfico son predecibles y consistentes. La empresa puede utilizar dos (o más) servidores web idénticos entre los cuales el balanceador de carga estático puede distribuir el tráfico.
Un ejemplo de equilibrio de carga dinámico: Una empresa experimenta subidas, bajadas y caídas en el tráfico. Algunos son predecibles y otros no. Estas organizaciones se beneficiarían del equilibrio de carga dinámico . Estas empresas pueden incluir un minorista de comercio electrónico que anuncia los horarios y fechas del Viernes Negro; una empresa de atención médica que acaba de anunciar que puede programar citas en línea para una vacuna de temporada; una agencia de desempleo del gobierno que requiere que los beneficiarios del seguro de desempleo presenten un reclamo semanal en un determinado día de la semana; una organización de ayuda que puede necesitar responder rápidamente en línea a un desastre natural. Algunos de estos aumentos repentinos y repentinos de tráfico y demanda se pueden planificar, pero otros no. En estos escenarios, un algoritmo de equilibrio de carga dinámico ayudará a garantizar el acceso a las aplicaciones y los recursos cuando los clientes y usuarios más los necesitan.
En la arquitectura denominada modelo de interconexión de sistemas abiertos (OSI) residen distintos tipos de equilibradores de carga con distintas capacidades. En este modelo hay siete capas. Los firewalls de red están en los niveles del uno al tres (L1-cableado físico, L2-enlace de datos y L3-red). Mientras tanto, el equilibrio de carga ocurre en las capas cuatro a siete (L4-transporte, L5-sesión, L6-presentación y L7- aplicação). Los balanceadores de carga generalmente se utilizan en la capa 4 y la capa 7 .
Los balanceadores de carga basados en la nube no son simplemente controladores de tráfico para picos de tráfico y para optimizar el uso del servidor. Los balanceadores de carga nativos de la nube también pueden proporcionar análisis predictivos para ayudarlo a visualizar los cuellos de botella de tráfico antes de que ocurran. Esto, a su vez, proporciona información útil para ayudar a cualquier empresa a optimizar sus soluciones de TI.
Equilibrio de carga de aplicação : A medida que las empresas dependen cada vez más del rendimiento y la disponibilidad de las aplicação , el equilibrio de carga de las aplicação puede ayudarlas a escalar, optimizar las operaciones y ahorrar dinero.
Equilibrio de carga del servidor global: Con usuarios y clientes en todo el mundo, las empresas pueden mejorar su disponibilidad de carga con el equilibrio de carga del servidor global , que envía a los usuarios al punto final más cercano a ellos.
Equilibrio de carga de DNS: La práctica de configurar un dominio en el Sistema de nombres de dominio (DNS) de modo que las solicitudes de los usuarios al dominio se distribuyan entre un grupo de servidores se denomina equilibrio de carga de DNS .
Equilibrio de carga de red: Los controladores de entrega de aplicação (ADC), dispositivos físicos o virtuales que funcionan como servidores físicos, administran funciones de aplicação o de red y dependen de una solución de equilibrio de carga de red para respaldarlas. Los ADC también utilizan otras técnicas, incluido el almacenamiento en caché, la compresión y la descarga del procesamiento SSL, para mejorar el rendimiento de las aplicações web. En la configuración habitual, el ADC se ubica frente a un grupo de servidores web y de aplicação y media las solicitudes y respuestas entre ellos y sus clientes, lo que hace que el grupo parezca un único servidor virtual para el usuario final.
Equilibrio de carga HTTP(S): La técnica para distribuir el tráfico entre varios grupos de servidores web o de aplicação para optimizar la utilización de recursos se denomina equilibrio de carga HTTP(S) .
Equilibrio de carga interna: Un balanceador de carga interno está asignado a una subred privada y no tiene una IP pública. Normalmente funciona dentro de una granja de servidores.
Diámetro: Un balanceador de carga de diámetro distribuye el tráfico de señalización entre múltiples servidores en una red. Una de las formas más rentables de hacerlo es escalar el plano de control de diámetro en lugar de la capa de transporte de datos. (El equilibrio de carga diametral también puede ser estático o dinámico).
Existen otros tipos de soluciones de equilibradores de carga, que pueden utilizarse solos o en una red con equilibradores de carga nativos de la nube. A continuación se indican algunos tipos destacados.
Balanceador de carga de hardware: Un balanceador de carga de hardware es un dispositivo físico con un sistema operativo especializado que puede programarse para distribuir el tráfico web entre varios servidores de aplicação , generalmente locales.
Balanceador de carga de software: Un equilibrador de carga de software funciona como un equilibrador de carga físico, pero se ejecuta en programas de software . El software mantiene las aplicaciones disponibles a través de todo tipo de demandas de tráfico, utilizando equilibrio de carga estático y dinámico para eliminar puntos únicos de falla.
Balanceador de carga virtual: Un tipo de equilibrador de carga que combina equilibradores de carga de hardware y software es un equilibrador de carga virtual. Utiliza un software controlador de entrega de aplicação que ayuda a distribuir la carga de tráfico de red entre los servidores back-end de hardware.
LIBRO BLANCO
Equilibrio de carga 101: Tuercas y tornillos ›
CASOS DE USO
Balanceo de carga de sus aplicações ›
LIBRO BLANCO
Equilibrio de carga en AWS: Conozca sus opciones ›