
Una de las formas más simples de escalar una aplicación web (o cualquier otro servicio) es la conocida como Round Robin DNS. RR-DNS es una técnica de balanceo de carga realizada desde los propios servidores DNS y no desde una máquina dedicada.
Round Robin es un algoritmo que permite seleccionar elementos de forma equitativa y por orden. Generalmente lo que se hace es crear una lista con todos los elementos y éstos luego son devueltos en orden. Cuando se ha recorrido toda la lista, se comienza de nuevo. Si se aplica este algoritmo a DNS, se puede comprender la forma de funcionamiento. Un nombre DNS tiene varias IP's detrás que pueden contestar a él, albergadas en diferentes servidores. Cuando un cliente pide la página, se envía a un servidor, al siguiente cliente se le mandará al siguiente servidor y así siempre. La carga se distribuye a través de los N equipos que formen el cluster, pero todo desde un DNS.
Para realizar lo descrito anteriormente, con bind es muy simple.
www A 192.168.1.101 www A 192.168.1.102 www A 192.168.1.103
Round Robin DNS presenta varios problemas sobradamente conocidos:
- No es la mejor opción para el balanceo de carga, ya que las peticiones se envían por igual a los equipos, no se tiene en cuenta la carga de los mismos.Por lo tanto, no existe una buenas distribución de la carga.
- Si un equipo cae, DNS no se da cuenta, por lo que seguirá enviando a clientes a esa IP, hasta que recarguen y sean enviados a otra.Por lo tanto, la alta disponibilidad es simulada.
- La velocidad y respuesta de los equipos no es la óptima.
Existe otros métodos de distribución de carga más óptimos que veremos en próximos post's y que servirán para más tipos de aplicaciones.
No hay comentarios :
Publicar un comentario