Tenho pesquisado soluções de alta disponibilidade (HA) para MySQL entre data centers.
Para servidores localizados no mesmo ambiente físico, eu preferi o mestre duplo com pulsação (VIP flutuante) usando uma abordagem passiva ativa. O batimento cardíaco é realizado tanto por uma conexão serial quanto por uma conexão Ethernet.
Por fim, meu objetivo é manter esse mesmo nível de disponibilidade, mas entre data centers. Desejo realizar failover dinamicamente entre os dois data centers sem intervenção manual e ainda manter a integridade dos dados.
Haveria BGP no topo. Clusters da Web em ambos os locais, com potencial para rotear para os bancos de dados entre os dois lados. Se a conexão com a Internet fosse desativada no site 1, os clientes passariam pelo site 2, para o cluster da Web e depois para o banco de dados no site 1, se o link entre os dois sites ainda estiver ativo.
Nesse cenário, devido à falta de vínculo físico (serial), há uma chance mais provável de dividir o cérebro. Se a WAN diminuísse entre os dois sites, o VIP terminaria nos dois sites, onde uma variedade de cenários desagradáveis poderia introduzir dessincronização.
Outro problema em potencial que vejo é a dificuldade de dimensionar essa infraestrutura para um terceiro data center no futuro.
A camada de rede não é um foco. A arquitetura é flexível nesta fase. Mais uma vez, meu foco é uma solução para manter a integridade dos dados e o failover automático nos bancos de dados MySQL. Eu provavelmente projetaria o resto em torno disso.
Você pode recomendar uma solução comprovada para o MySQL HA entre dois sites fisicamente diversos?
Obrigado por separar um tempo para ler isso. Estou ansioso para ler suas recomendações.