El equilibrio de carga de DNS mejora la disponibilidad y el rendimiento de las aplicaciones al dirigir a los usuarios a varias direcciones IP de un mismo dominio.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es Load Balancing?
Conmutación por error del servidor
Algoritmos de equilibrio de carga
Equilibrio de carga en nube híbrida y multinube
Equilibrio de carga en la nube (LBaaS)
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
Equilibrio de carga es la práctica de distribuir el tráfico entre más de un servidor para mejorar el rendimiento y la disponibilidad. Las organizaciones utilizan diferentes formas de equilibrio de carga para acelerar tanto los sitios web como las redes privadas. Sin el equilibrio de carga, la mayoría de las aplicaciones y sitios web de Internet no manejarían el tráfico con eficacia ni funcionarían correctamente.
Se suele hacer referencia al DNS como la agenda telefónica de Internet porque traduce los dominios de sitios web (como google.com o nytimes.com) como direcciones IP. Una dirección IP es una larga etiqueta numérica que los servidores utilizan para identificar sitios web y cualquier dispositivo conectado a Internet. Al traducir nombres de dominio a direcciones IP (un proceso conocido como resolución DNS), DNS evita que la gente tenga que memorizar largas secuencias de números para acceder a sitios web y aplicaciones.
En la resolución de DNS, el navegador de un usuario de Internet se pone en contacto con un servidor DNS para solicitar la dirección IP correcta del sitio web de destino. El acto de solicitar una dirección IP de un dominio se denomina consulta de DNS.
El equilibrio de carga basado en DNS es un tipo específico de equilibrio de carga que utiliza el DNS para distribuir el tráfico entre varios servidores. Lo hace al proporcionar diferentes direcciones IP en respuesta a las consultas de DNS. Los equilibradores de carga pueden utilizar varios métodos o reglas para elegir qué dirección IP compartir en respuesta a una consulta de DNS.
Una de las técnicas más habituales de equilibrio de carga de DNS se llama DNS round-robin.
El DNS round-robin tiene el mismo objetivo que otros tipos de equilibrio de carga basado en DNS: mejorar el rendimiento y la fiabilidad de un sitio al distribuir el tráfico. Sin embargo, a diferencia de cuando se utiliza un equilibrador de carga especializado basado en software o hardware, el DNS round-robin realiza el equilibrio de carga utilizando un tipo de servidor DNS denominado nombre del servidor autoritativo.
Los servidores de nombres autoritativos tienen registros de DNS llamados registros A o registros AAAA, que contienen el nombre de un dominio y su dirección IP correspondiente. Cuando un cliente envía una consulta de DNS, el objetivo de la consulta es encontrar el registro A (o AAAA). En una configuración básica, un dominio tendrá un único registro A vinculado a una única dirección IP, lo que significa que una consulta de DNS siempre devolverá la misma dirección IP.
Sin embargo, en el DNS round-robin, los dominios tienen varios registros A, cada uno de ellos vinculado a una dirección IP diferente. A medida que llegan las consultas de DNS, las direcciones IP rotan en forma de round-robin, repartiendo las solicitudes entre los servidores asociados.
Si hay cinco direcciones IP en el DNS round-robin, una consulta de DNS solo devolvería la dirección IP n.º 1 por cada sexta solicitud. Como cada dirección IP corresponde a un servidor diferente, esta configuración reduce la carga de trabajo de cada servidor, lo cual reduce la probabilidad de que se vea sobrecargado por las solicitudes.
Para entender cómo funciona el DNS round-robin, comparemos el acto de visitar un sitio web con el de enviar un correo a una empresa. Supongamos que la empresa utiliza un apartado de correos para recibir el correo de los clientes, pero recibe más correo del que puede manejar su único apartado de correos. Para resolver este problema, la empresa podría adquirir más apartados de correos.
Para que la estrategia de los apartados de correos múltiples funcione, la empresa debe asegurarse de que el correo no sobrecargue ninguno de ellos. Esto significa que la dirección del apartado de correos que aparece cuando los clientes buscan la dirección postal de la empresa tendría que alternarse de forma secuencial. El cliente n.º 1 vería la dirección del apartado de correos n.º 1; después, el cliente n.º 2 vería la dirección del apartado correo n.º 2. Este método ayudaría a reducir la carga de los apartados de correos individuales al aumentar la capacidad global. Sin los buzones adicionales, un solo apartado de correos podría desbordarse fácilmente, lo que retrasaría la llegada de correo.
Al igual que en el ejemplo del apartado de correos, el DNS round-robin protege a los servidores de verse sobrecargados de peticiones, evitando así cualquier retraso en su procesamiento.
Aunque el enfoque round-robin es popular, no es el único método para enrutar el tráfico. La mayoría de los equilibradores de carga permiten que los propietarios de los dominios elijan entre varias reglas de enrutamiento de tráfico.
Un ejemplo de configuración de equilibrio de carga basado en el DNS es un algoritmo ponderado por el que se asignan cargas relativas a los distintos servidores en función de su capacidad para gestionar el tráfico. El tráfico se asigna entonces de forma proporcional. Por ejemplo, si el servidor A tiene el doble de capacidad que el servidor B, entonces el equilibrador de carga daría el doble de tráfico al servidor A en relación con el servidor B. Lo haría devolviendo la dirección IP del servidor A en respuesta a las consultas de DNS. El round-robin ponderado o la conexión mínima ponderada son ejemplos de este tipo de algoritmo de equilibrio de carga.
Muchos de los enfoques de equilibrio de carga basados en DNS son dinámicos, lo que significa que los equilibradores de carga tienen en cuenta el estado del servidor y los tiempos de respuesta del mismo cuando se asignan las solicitudes. Los algoritmos dinámicos pueden adoptar muchas formas. "La conexión mínima" es un tipo de algoritmo de equilibrio de carga dinámico. En la configuración de mínima conexión, la supervisión del servidor determina qué servidor tiene menos conexiones abiertas en ese momento, y luego asigna el tráfico entrante a ese servidor proporcionando su dirección IP en respuesta a las consultas de DNS.
La geolocalización es otro algoritmo dinámico que se utiliza habitualmente. En esta configuración, el equilibrador de carga asigna las solicitudes de una región a un servidor o conjunto de servidores definido. Por ejemplo, todas las solicitudes procedentes de Francia podrían ir al "servidor F", y todas las solicitudes procedentes de España podrían ir al "servidor S".
Un algoritmo basado en la proximidad consigue algo similar. En esta configuración, los equilibradores de carga asignan dinámicamente el tráfico al servidor que esté más cerca del usuario.
Los algoritmos dinámicos siguen reglas ligeramente diferentes, pero en el fondo hacen lo mismo: controlar el estado del servidor y optimizar la asignación del tráfico.