Una de las formas más rápidas y sencillas de configurar una aplicación con alta disponibilidad y mejorar el rendimiento es implementar el equilibrador de carga (LB).

A alto nivel, existen tres tipos de equilibradores de carga.

  • Basados en hardware
  • Basados en la nube
  • Basados en software

Un equilibrador de carga de hardware es un aparato dedicado a proporcionar distribución de carga y sus características relevantes. Algunos de los proveedores de hardware LB más populares son:

  • F5
  • TP-Link
  • Barracuda

Son caros pero le proporcionan un control total.

El equilibrador de carga en la nube está más de moda que nunca.

Utilizar LB en la nube es una de las formas asequibles de disfrutar de todas las funciones sin invertir en un aparato de hardware. Usted paga por lo que utiliza. Los siguientes son algunos de los LB en nube conocidos.

  • AWS
  • Nube de Google
  • Cloudflare
  • Incapsula
  • DigitalOcean
  • Azure

Puede empezar desde tan sólo 20 dólares al mes.

Y la última es la basada en software, en la que usted mismo instala, gestiona y configura el software LB. Este puede ser comercial o de código abierto/libre.

Si usted no tiene un presupuesto o le gustaría explorar una solución libre equilibrador de carga a continuación le ayudará.

Seesaw

Utilizado por Google, es un servidor equilibrador de carga virtual fiable basado en Linux para proporcionar la distribución de carga necesaria en la misma red.

Seesaw está desarrollado en lenguaje Go y funciona bien en la distro Ubuntu/Debian. Soporta anycast, y DSR (retorno directo al servidor), y requiere dos nodos Seesaw. Pueden ser físicos o virtuales.

Merece la pena mencionar que Seesaw funciona con redes de capa cuatro, por lo que si lo que busca es un equilibrio de carga de capa siete, quizá le interese explorar otras opciones.

KEMP

Un controlador avanzado de entrega de aplicaciones GRATUITO de KEMP es compatible con los principales hipervisores. Puede descargarlo y utilizarlo en su centro de datos o desplegarlo en DC en la nube como AWS o Azure.

YouTube video

Es gratuito pero ofrece un nivel comercial de características que incluyen las siguientes.

  • Equilibrio de carga de capa 4 para TCP/UDP mediante round-robin o algoritmos de mínima conexión
  • Equilibrado de capa 7
  • Integración de un cortafuegos de aplicaciones web (WAF)
  • Motor de prevención de intrusiones (IPS) incorporado
  • Auténtico equilibrio de carga global del servidor, admite multisitios
  • Almacenamiento en caché, compresión de contenidos, conmutación de contenidos
  • Persistencia de cookies web
  • Túnel IPSec
  • Preautenticación
  • Cifrado
  • Kubernetes

KEMP LB es utilizado por algunas de las grandes marcas como Apple, Sony, JP Morgan, Audi, Hyundai, etc. La edición gratuita proporciona características suficientes; sin embargo, si necesita más, puede consultar su licencia comercial.

Si usted o su organización deciden explorar KEMP LB y necesitan algo de formación en línea, entonces pueden consultar este curso en línea de Mike Walton.

HAProxy

Uno de los más populares que existen en el mercado para proporcionar alta disponibilidad, proxy, equilibrio de carga TCP/HTTP. HAProxy es utilizado por algunas de las marcas de renombre en el mundo, como a continuación.

  • Airbnb
  • GitHub
  • Imgur
  • Reddit

Algunas de las características dignas de mención son

  • Soporta IPv6 y UNIX socket
  • Compresión Deflate y Gzip
  • Comprobación de salud
  • Adherencia de sesión basada en la fuente
  • Informes estadísticos incorporados (compruebe la demostración)

Como es de esperar HAProxy tiene edición empresarial, hardware y dispositivo virtual.

haproxy

La mejor forma de conocer HAProxy es probarlo. La edición comunitaria viene con toneladas de características, y de todas formas son GRATUITAS.

ZEVENET

Zevenet soporta L3, L4 y L7. Está disponible como código fuente, imagen IOS, y en un repositorio docker.

zevenet

Soporta monitorización avanzada de comprobación de salud, por lo que los servidores/servicios defectuosos están fuera de servicio rápidamente para proporcionar una experiencia de usuario sin problemas. Zevenet antes conocido como Zen funciona bien con un protocolo basado en TCP como FTP, SIP, SSL, HTTP, etc.

Si busca alojamiento Zevenet, puede probar Kamatera.

Neutrino

Neutrino es utilizado por eBay y construido utilizando Scala y Netty. Soporta algoritmos de conexión mínima y round-robin con las siguientes características de conmutación.

  • Uso de nombres canónicos
  • Basado en el contexto
  • L4 utilizando números de puerto TCP
neutrino

Neutrino está probado para manejar un rendimiento de 300 peticiones por segundo en VM de 2 núcleos. Si está comparando con HAProxy, entonces una gran ventaja de utilizar Neutrino es la conmutación L7.

Pero como siempre, pruebe ambos y vea qué funciona mejor para su entorno.

Equilibrio

Balance de In lab networks es un proxy TCP round-robin LB que soporta IPv6 en el lado de escucha. Esto significa que puede tener IPv4 en el extremo frontal e IPv6 en el extremo posterior.

Tiene todas las características básicas de LB.

Pen

Pen está probado en Linux, FreeBSD, HP-UX, Solaris y Windows, pero no hay razón para que no funcione en otra distro Unix. Soporta protocolos basados en UDP y TCP como HTTP, SNMP, DNS, etc.

Algunas de las características incluyen las siguientes junto con las básicas.

  • Filtro GeoIP
  • Terminación SSL
  • Compatibilidad IPv4 & IPv6

Nginx

Sé lo que puede estar pensando. Nginx es un servidor web, servidor proxy, etc. Pero Nginx de código abierto soporta un nivel básico de conmutación de contenidos y distribución de enrutamiento de peticiones a través de múltiples servidores.

Sin embargo, la edición Nginx Plus es mucho más que eso.

nginx-lb

Nginx Plus es una solución de entrega de aplicaciones web todo en uno que incluye equilibrio de carga, almacenamiento de contenidos en caché, servidor web, WAF, monitorización, etc. Proporciona una solución de equilibrador de carga de alto rendimiento para escalar aplicaciones y servir millones de peticiones por segundo.

Traefik

Un proxy de reserva HTTP y LB moderno y rápido construido con GO. Traefik soporta múltiples servicios back-end Amazon ECS, Docker, Kubernetes, Rancher, etc.

traefik

Soporta WebSockets, HTTP/2, renovación automática de certificados SSL con Let’s encrypt, interfaz limpia para gestionar y monitorizar los recursos.

Gobetween

Gobetween es un equilibrador de carga minimalista pero potente de alto rendimiento basado en L4 TCP, TLS y UDP.

gobetween-lb

Funciona en múltiples plataformas como Windows, Linux, Docker, Darwin y si está interesado puede construirlo a partir del código fuente. El balanceo se realiza en base a los siguientes algoritmos que usted elige en la configuración.

  • Hash IP
  • Mundialmente conocido – round-robin
  • Menor ancho de banda
  • Menor conexión
  • Peso

Según este punto de referencia, Go-between es más rápido que HAProxy pero no que Nginx.

gobetween-benchmark

Si busca una solución de equilibrio L4 moderna con autodescubrimiento para el entorno dinámico, Go-between parece prometedora. Pruébelo a ver qué tal.

Conclusión

Espero que el software equilibrador de carga de código abierto enumerado anteriormente le ayude a elegir uno para su aplicación. Todos son GRATUITOS, por lo que la mejor forma de encontrar lo que funciona es probándolos.

Si está buscando aprender nuevas habilidades, pruebe Udemy, donde hay disponibles miles de cursos en vídeo.