Balanceador de carga

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Un Balanceador de carga fundamentalmente es un dispositivo de hardware o software que se pone al frente de un conjunto de servidores que atienden una aplicación y, tal como su nombre lo indica, asigna o balancea las solicitudes que llegan de los clientes a los servidores usando algún algoritmo (desde un simple round-robin hasta algoritmos más sofisticados).[1]

Balanceador.png

Es un método para distribuir la carga de trabajo en varias computadoras separadas o agrupadas en un clúster.[2]

Para que se considere exitoso un balanceador de carga:

  • Debe minimizar tiempos de respuesta.
  • Mejorar el desempeño del servicio.
  • Evitar la saturación.

Formas de implementar el balanceo de carga[editar]

  • Balanceo de carga basado en DNS. Se hace por medio de registros DNS para que una URL apunte a más de una dirección IP. Es fácil su implementación.
  • Balanceo de carga basado en software. Por medio de los servidores WEB comparten una dirección IP, la cual resuelve el dominio. Estos servidores negocian entre ellos cual responderá a la siguiente petición.
  • Balanceo de carga dedicado. Cualquier hardware que contenga una aplicación de balanceo de carga de código libre o comercial.

Métodos de Balanceo de Carga[editar]

  • De petición
  • Basado en sesión
  • De métodos

Métodos de Conexiones[editar]

  • Round-Robin: las peticiones son distribuidas entre los servidores de forma cíclica, independientemente de la carga del servidor. Distribuye las peticiones de forma ecuánime pero la carga no.
  • Weighted Round-Robin: Las peticiones se entregan dependiendo del peso que se le de a cada servidor.
  • LeastConnection: Cada petición es atendida por el servidor con menos conexiones activas en ese momento.
  • Weighted LeastConnection: Las peticiones se entregan dependiendo del peso y el número de conexiones que se tengan
  • Ip-hash: se selecciona el servidor que atenderá la petición en base a algún dato como la dirección IP, de esta forma todas las peticiones de un usuario son atendidas por el mismo servidor.

Ventajas del Balanceo de Carga[editar]

  • Es de bajo costo.
  • Transparente para el usuario.
  • Funcionalidad permanente.
  • Evita la saturación de servidores.

Ejemplos de balanceadores[editar]

A continuación se presenta una tabla de comparación con diferentes balanceadores de carga.

Contras

Pros

Observaciones

LVS

  • Para enrutamiento directo se tiene que parchar el kernel
  • Parche solo disponible para versiones 2.4
  • Nativo de Linux
  • Soporta varios algoritmos de distribución
  • Failover protection (con ldirector)
  • Documentación extensa

El bug solo se presenta para el modo de enrutamiento directo

Ultra Monkey

  • Soporte limitado
  • No parece tener actualizaciones para kernel 3.x
  • Fork de LVS
  • Custom kernel
  • Failover protection
  • Soporta varios algoritmos de distribución

Pound

  • Poca documentación
  • Poco conocido
  • Difícil encontrar un paquete pre compilado
  • Failover protection
  • Soporta varios algoritmos de distribución

Zevenet (aka Zen Load Balancer)

  • Documentación extensa
  • Cuenta con soporte
  • Balancea en varias capas
  • Soporta varios algoritmos a nivel TCP
  • Fácil configuración
  • Interfaz web

Soporta transparencia con destination NAT y source NAT.

Apache

No es principalmente un balanceador

  • Extensa documentación
  • Failover protection
  • Soporta varios algoritmos de distribución

Pfsense

  • No es principalmente un balanceador
  • No es sencillo configurarlo
  • Failover protection
  • Cuenta con soporte
  • Soporta balanceo en varias capas
  • Interfaz web

Pirhana

Solo disponible en redhat

  • Interfaz web
  • Fácil configuración
  • Documentación extensa
  • Failover protection
  • Soporta varios algoritmos

Véase también[editar]

Referencias[editar]

  1. «Blog Tecnocacharrero. Soluciones de Balanceo de Carga Abril de 2009». tecnocacharrero.blogspot.com. 
  2. Dulce Campos. «Moodle-alta-disponibilidad». Consultado el 2013.