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 con base en 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.