Pregunta

Me interesan las estrategias de conmutación por error cruzadas de colo para aplicaciones web, de modo que si el sitio principal falla, los usuarios aterrizan sin problemas en el sitio de conmutación por error de otro colo.

El lado de la aplicación de las cosas parece ser mayormente resuelto con una configuración de base de datos maestro-esclavo entre los colos y los servicios diseñados para recuperarse y poder recuperarse a mitad de la secuencia. Estoy tratando de descubrir la estrategia para mover el tráfico del sitio principal al sitio de conmutación por error. La conmutación por error de DNS, incluso con TTL bajos, parece tener un poco de latencia .

¿Qué estrategias recomendaría para mover rápidamente el tráfico entre colos, asumiendo que los servidores en el colo principal son inalcanzables?

Si tiene otra experiencia interesante / palabras de sabiduría sobre la conmutación por error entre colores, me encantaría escucharlas también.

¿Fue útil?

Solución

Los mecanismos basados ??en DNS son molestos, incluso si coloca TTL bajos en sus archivos de zona.

El motivo de esto es que muchas aplicaciones (por ejemplo, MSIE) mantienen sus propios cachés que ignoran el TTL. Otro software realizará una sola llamada gethostbyname () o equivalente y almacenará el resultado hasta que se reinicie el programa.

Peor aún, se sabe que los servidores DNS recursivos de muchos ISP ignoran los TTL por debajo de su propio mínimo preferido e imponen sus propios TTL más altos.

En última instancia, si el sitio se va a ejecutar desde ambos centros de datos sin cambiar su dirección IP, deberá consultar las disposiciones de " Multihoming " a través de los anuncios de ruta global BGP4.

Con multihoming, debe obtener al menos un / 24 netblock de " proveedor independiente " (también conocido como " PI ") Espacio de direcciones IP, y luego haga que eso solo se anuncie a la tabla de enrutamiento global desde el sitio de respaldo si el sitio principal se desconecta.

Otros consejos

En cuanto a DNS, me gusta hacer referencia a " ¿Por qué el equilibrio de carga global del servidor basado en DNS no funciona? Trabajo " . Para todo lo demás, use BGP .

Diseñar redes para equilibrar la carga con BGP no es una tarea fácil y yo tampoco soy un experto en esto. También es más complejo de lo que Wikipedia puede decirle, pero hay un par de artículos interesantes en la web que detallan cómo se puede hacer:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top