He estado investigando soluciones de alta disponibilidad (HA) para MySQL entre centros de datos.
Para los servidores ubicados en el mismo entorno físico, he preferido un maestro dual con latido (VIP flotante) usando un enfoque pasivo activo. El latido es a través de una conexión en serie, así como una conexión a Ethernet.
En última instancia, mi objetivo es mantener este mismo nivel de disponibilidad pero entre centros de datos. Quiero realizar una conmutación por error dinámica entre ambos centros de datos sin intervención manual y aún así mantener la integridad de los datos.
Habría BGP en la parte superior. Clústeres web en ambas ubicaciones, lo que podría enrutar a las bases de datos entre ambos lados. Si la conexión a Internet se cortara en el sitio 1, los clientes se enrutarían a través del sitio 2, al clúster web y luego a la base de datos en el sitio 1 si el enlace entre ambos sitios todavía está activo.
Con este escenario, debido a la falta de enlace físico (en serie), existe una mayor probabilidad de fractura cerebral. Si la WAN cayera entre ambos sitios, el VIP terminaría en ambos sitios, donde una variedad de escenarios desagradables podría introducir la desincronización.
Otro problema potencial que veo es la dificultad de escalar esta infraestructura a un tercer centro de datos en el futuro.
La capa de red no es un foco. La arquitectura es flexible en esta etapa. Nuevamente, mi enfoque es una solución para mantener la integridad de los datos, así como la conmutación por error automática con las bases de datos MySQL. Probablemente diseñaría el resto en torno a esto.
¿Puede recomendar una solución probada para MySQL HA entre dos sitios físicamente diversos?
Gracias por tomarse el tiempo de leer esto. Espero leer sus recomendaciones.