FeaturedNOTICIAS

¿Qué son los balanceadores de carga? Cómo distribuir eficazmente el tráfico entrante


Foto de cables de red de fibra conectados a un servidor

Los balanceadores de carga son componentes de infraestructura que distribuyen el tráfico de red entrante a través de múltiples servidores back-end. Mejoran la capacidad y agregan redundancia mientras mantienen los servicios accesibles en caso de que uno de sus servidores falle.

Los balanceadores de carga actúan como una puerta de enlace pública a su aplicación. Se especializan en su función, por lo que pueden optimizarse en gran medida para maximizar el rendimiento del tráfico. Los balanceadores de carga generalmente se pueden configurar con diferentes tipos de algoritmos de enrutamiento para cumplir con los requisitos de la aplicación.

En este artículo, exploraremos qué son los balanceadores de carga, cómo funcionan y algunas de las complicaciones que pueden causar. También explicaremos las diferencias entre los algoritmos de equilibrio de carga más comunes.

Qué hacen los balanceadores de carga

Los balanceadores de carga son responsables de proporcionar un proxy inverso frente a los servidores de aplicaciones. Todos los clientes se conectan a este único proxy en lugar de a instancias de back-end individuales. El balanceador de carga es responsable de seleccionar un servidor para manejar cada solicitud. Esto ocurre de forma invisible para el cliente externo.

Hay implementaciones de equilibrio de carga basadas en hardware y software disponibles. Por el lado del software, la mayoría de los servidores web como Apache y NGINX son capaces de desempeñar el papel. El proveedor de alojamiento implementa los balanceadores de carga basados ​​en hardware como componentes de infraestructura independientes.

Los balanceadores de carga generalmente monitorean el estado de las instancias en el grupo de servidores back-end. Los backends que se vuelven inestables dejan de recibir tráfico nuevo, lo que reduce la falta de estabilidad del servicio y el tiempo de inactividad. Del mismo modo, los balanceadores de carga generalmente le permiten agregar nuevas instancias de back-end en cualquier momento, para que pueda escalar su servicio con capacidad adicional durante las horas pico.

TE INTERESA>>  Oregon Passes Right-to-Repair Bill, Attacks Apple's Parts Pairing

El objetivo principal de un balanceador de carga es maximizar el rendimiento y hacer el uso más eficiente de los recursos disponibles. Ser capaz de escalar horizontalmente entre servidores físicos generalmente es más efectivo que hacer crecer un solo nodo verticalmente con CPU o memoria adicional. El escalado horizontal proporciona una mayor redundancia y capacidad, mientras que la sobrecarga soportada por el balanceador de carga es generalmente nominal.

Algoritmos de equilibrio de carga

Si bien el propósito del equilibrio de carga siempre es distribuir el tráfico entre varios servidores, hay varias formas de lograrlo. Antes de analizar estrategias específicas, es importante identificar los dos tipos fundamentales de algoritmo que puede seleccionar:

  • Equilibrio estático – Estos métodos funcionan a partir de valores de configuración codificados, lo que los hace completamente predecibles en su funcionamiento. Este tipo de algoritmo no tiene en cuenta el estado de los servidores back-end a los que puede reenviar, por lo que puede continuar enviando nuevas solicitudes a una instancia ya congestionada.
  • Balance dinámico – Los algoritmos dinámicos se ajustan en tiempo real según el flujo de tráfico y la disponibilidad de los servidores en su grupo. Estas estrategias pueden evitar automáticamente instancias que ya están manejando múltiples solicitudes. El balanceo de carga dinámico puede aumentar marginalmente los costos generales, ya que el balanceador de carga debe realizar un seguimiento del estado de finalización de cada solicitud.

Los sistemas de equilibrado estático suelen ser más fáciles de configurar, probar e inspeccionar. El equilibrio dinámico es mucho más potente y suele ser la opción preferida para las aplicaciones de producción. Dentro de cada una de estas clases, hay varias estrategias de enrutamiento específicas que puede elegir:

  • Girotondo al estilo italiano – Round robin es un método de equilibrio estático que enruta las solicitudes a cada servidor por turno. Si tiene tres servidores A, B y C, la primera solicitud entrante irá a A, la segunda a B y la tercera a C. El equilibrador de carga se reiniciará desde A para la cuarta solicitud.
  • pesos italianos – Una variación del algoritmo round robin en el que los administradores definen las prioridades relativas de cada servidor en el grupo. Un servidor de gran peso se utilizará con más frecuencia y recibirá una mayor parte del tráfico. Este método le permite utilizar la estrategia de operación por turnos cuando el grupo de servidores incluye servidores con diferentes especificaciones.
  • Aleatorio – Muchos balanceadores de carga incluyen una opción aleatoria real como opción estática alternativa.
  • Picadillo – Esta estrategia de equilibrio estático genera un hash de la dirección IP del cliente para determinar cuál de los servidores backend manejará la solicitud. Esto garantiza que la misma instancia atienda todas las conexiones que se originen en ese cliente.
  • Menos conexiones – Este es un algoritmo dinámico popular que siempre enruta las solicitudes entrantes al servidor con la menor cantidad de conexiones abiertas. En muchas aplicaciones, esta es la forma más efectiva de maximizar el rendimiento general.
  • Máxima disponibilidad de ancho de banda – Este método envía tráfico nuevo al servidor con el mayor ancho de banda disponible. Esto es ideal en situaciones en las que es probable que las solicitudes individuales consuman una gran cantidad de ancho de banda aunque el número total de solicitudes siga siendo bajo.
  • Carga personalizada/punto final de estado – Muchos balanceadores de carga incluyen una forma de tomar decisiones de distribución de tráfico basadas en métricas personalizadas expuestas por servidores back-end. El uso de CPU, el consumo de memoria y otras medidas críticas se pueden consultar mediante un mecanismo como SNMP.
TE INTERESA>>  'In The Land of Saints and Sinners' Starring Liam Neeson Confirms Netflix Release Date in the UK

Otras características del equilibrio de carga

Los balanceadores de carga pueden crear algunas complicaciones para su aplicación. Uno de los más populares es el desafío de obtener sesiones de back-end persistentes. Es común que los sistemas mantengan el estado en el servidor y necesiten mantener el estado entre las conexiones del cliente.

Puede mitigar esto utilizando el algoritmo de equilibrio de hash o una opción similar basada en el cliente. Esto asegura que las conexiones desde la misma dirección IP terminen en un servidor en particular. La mayoría de los balanceadores de carga también ofrecen una opción de sesión persistente explícita que busca un encabezado o una cookie con nombre en una solicitud HTTP. Este valor se puede utilizar para enrutar de forma coherente las solicitudes al mismo servidor después de la conexión inicial del cliente.

Los balanceadores de carga también pueden crear complejidad en torno a SSL. Muchas organizaciones configuran SSL para terminar en el balanceador de carga. Las conexiones entre el balanceador de carga y los servidores back-end se realizan a través de HTTP normal. Esto generalmente da como resultado una experiencia de configuración más simple con requisitos de mantenimiento reducidos.

El uso de conexiones solo HTTP en la dirección de avance no siempre es aceptable para las cargas de trabajo críticas para la seguridad. Los balanceadores de carga capaces de pasar SSL pueden enviar tráfico directamente a los servidores back-end, sin descifrar primero los datos. Sin embargo, esto limita la funcionalidad de enrutamiento que puede usar: debido a que el balanceador de carga no puede descifrar las solicitudes entrantes, no podrá establecer coincidencias en función de atributos como encabezados y cookies.

TE INTERESA>>  Woman Whose Ex-Husband Won $273 Million Lottery Doesn't Want To Pay His Alimony Anymore

Equilibradores de carga de capa 4 y capa 7

El equilibrio de carga a menudo se analiza en el contexto de las redes de Capa 4 (L4) y Capa 7 (L7). Estos términos describen dónde el balanceador de carga enruta el tráfico dentro del ciclo de vida de una solicitud de red.

Un recurso de capa 4 opera en la capa de transporte de red. Estos equilibradores de carga toman decisiones de enrutamiento en función de las características del transporte de solicitudes, como el puerto TCP o UDP utilizado. Los datos específicos de la solicitud no se tienen en cuenta.

Un balanceador de carga de nivel 7 se encuentra junto al nivel de la aplicación. Estos balanceadores de carga pueden acceder a datos complejos dentro de la solicitud y usarlos para informar las reglas de enrutamiento específicas de la carga de trabajo. Aquí es donde puede tener lugar el equilibrio de carga que tiene en cuenta una ID de sesión en un encabezado HTTP o cookie.

El Equilibrio de carga de nivel 7 es poderoso pero requiere relativamente muchos recursos. Debe analizar e inspeccionar el contenido de cada solicitud antes de que pueda pasarse a un backend. La naturaleza basada en paquetes de los balanceadores de carga de nivel 4 proporciona menos control pero tiene un impacto correspondientemente reducido en el rendimiento. El nivel 4 tampoco descifra el tráfico, por lo que un compromiso de equilibrio de carga en esta etapa no expondrá los datos de la solicitud.

Conclusión

Los balanceadores de carga le permiten enrutar el tráfico entrante entre sus servidores. Son un componente fundamental de las arquitecturas de red de alta disponibilidad que le permiten ejecutar de manera transparente múltiples instancias de back-end. Esto aumenta la capacidad del servicio y evita una interrupción total si un servidor se desconecta.

La mayoría de las implementaciones de equilibradores de carga le ofrecen la opción de varios algoritmos, incluidas opciones estáticas y dinámicas. Muchas aplicaciones funcionan bien con opciones simples como «menos conexiones» o «todo el mundo», pero las opciones más complejas son útiles en situaciones específicas.

Es una buena idea ejecutar cada aplicación de producción detrás de un balanceador de carga. Le brinda la flexibilidad de escalar según demanda y reaccionar ante servidores en mal estado. El equilibrio de carga generalmente es fácil de configurar dentro de la infraestructura de red o la pila de alojamiento de su proveedor de servicios en la nube.



Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba
hentai creampir hentairulz.com saoff summer xxxx hot zoztube.mobi xhamsted ماياخليفة سكس parabg.com سكس قذف جماعى سكس جنوب افريقيا arab-porno.net سكس بنات محجبة freefuck redwap2.com karnataka blue film نيك خادمة freetvtube.info قصص نيك محارم الارشيف 23 sexy rapes teenextube.mobi latest scandals in bollywood milf manga truehentai.com la blue girl manga ang probinsyano june 19 pinoyshowstv.com enchong pokemon henatai hentaicredo.com boku no pico nokare .com gotporn.mobi www.freesexdoor.com indian first night xxx pornxvideos.info xxx six india sex samantha sex zatube.mobi cuddling porn mom son sleeping sex hdtporno.org velamma episode 74 indian free porn mms youjizz.sex velamma episode 79