Es notable cuántos de los contribuyentes están ayudando a contribuir con la desinformación sobre DNS Round Robin como mecanismo de resistencia y distribución de carga. Por lo general, funciona, pero debe comprender cómo funciona y evitar los errores causados por toda esa desinformación.
1) El TTL en los registros DNS utilizados para Round Robin debe ser corto, pero NO CERO. Tener el TTL en cero rompe la forma principal de proporcionar resistencia.
2) El DNS RR se extiende, pero no equilibra la carga, lo distribuye porque en una gran base de clientes, tienden a consultar el servidor DNS de forma independiente y, por lo tanto, terminan con diferentes entradas DNS de primera opción. Esas primeras opciones diferentes significan que los clientes son atendidos por diferentes servidores, y la carga se distribuye. Pero todo depende de qué dispositivo está haciendo la consulta DNS y cuánto tiempo tiene el resultado. Un ejemplo común es que todos los clientes detrás de un proxy corporativo (que realiza la consulta de DNS para ellos) terminarán apuntando a un solo servidor. La carga se distribuye, pero no está equilibrada de manera uniforme.
3) DNS RR proporciona resistencia siempre que el software del cliente lo implemente correctamente (y tanto el TTL como la capacidad de atención de los usuarios no es demasiado corta). Esto se debe a que DNS round robin proporciona una lista ordenada de las direcciones IP del servidor, y el software del cliente debe intentar contactar a cada una de ellas, hasta que encuentre un servidor que acepte la conexión.
Entonces, si el servidor de primera opción está inactivo, la conexión TCP / IP del cliente agota el tiempo de espera, y siempre que no haya expirado el TTL o el período de atención, entonces el software del cliente realiza otro intento de conexión a la segunda entrada en la lista, y así sucesivamente hasta que TTL caduca o llega al final de la lista (o el usuario se da por vencido).
Una larga lista de servidores rotos (su culpa) y grandes límites de reintento de conexión TCP / IP (configuración incorrecta del Cliente) pueden hacer que el Cliente encuentre un servidor que funcione durante un largo período. Un TTL demasiado corto significa que nunca llega al final de la lista y, en cambio, emite una nueva consulta DNS y recibe una nueva lista (con suerte en un orden diferente).
A veces el Cliente tiene mala suerte y la nueva lista todavía comienza con servidores rotos. Para dar al sistema la mejor oportunidad de proporcionar resistencia al cliente, debe asegurarse de que el TTL sea más largo que el lapso de atención típico y que el cliente llegue al final de la lista.
Una vez que el cliente ha encontrado un servidor en funcionamiento, debe recordarlo, y cuando necesite realizar la siguiente conexión, no debe repetir la búsqueda (a menos que el TTL haya expirado). Un TTL más largo reduce la frecuencia con la que los usuarios experimentan un retraso mientras el cliente busca un servidor que funcione, lo que brinda una mejor experiencia.
4) DNS TTL tiene su propio valor, cuando desea cambiar manualmente los registros DNS (por ejemplo, para eliminar un servidor roto a largo plazo), entonces un TTL corto permite que ese cambio se propague rápidamente (una vez que haya comenzado a hacerlo), entonces considere el equilibrio entre cuánto tiempo tomará antes de conocer el problema y realice ese cambio manual, y el hecho de que los clientes normales solo tendrán que hacer una nueva búsqueda de un servidor que funcione cuando expire el TTL.
DNS round robin tiene dos características sobresalientes que lo hacen muy rentable en una amplia gama de escenarios: en primer lugar, es gratis y, en segundo lugar, está casi tan disperso geográficamente como su base de clientes.
No introduce una nueva 'unidad de falla' que hacen todos los otros sistemas 'inteligentes'. No hay componentes adicionales que puedan experimentar una falla común y simultánea en una carga completa de elementos interconectados.
Los sistemas 'inteligentes' son geniales e introducen mecanismos maravillosos para coordinar y proporcionar un equilibrio perfecto y un mecanismo de conmutación por error, pero en última instancia, los mismos métodos que utilizan para proporcionar esa experiencia perfecta son su talón de Aquiles, lo complicado adicional que puede salir mal, y cuando lo haga, proporcionará una experiencia perfecta de fallas en todo el sistema.
Entonces, SÍ, el round robin de DNS es definitivamente "lo suficientemente bueno" para su primer paso más allá de un solo servidor que aloja todo su contenido estático en un solo lugar.