Esta solução de MySQL HA é válida?

1

Estamos no processo de mover nosso banco de dados MySQL do AWS RDS para o EC2.

O RDS nos fornece uma solução sólida de HA, que queremos replicar no EC2. Nós olhamos para MySQL Utilities e MHA, os quais apresentam problemas para nós. Como resultado, somos uma solução DIY, que funcionará da seguinte maneira:

Teremos uma réplica mestre e escrava (Escravo 1). Nós teremos uma réplica escrava do escravo (escravo 2).

O Master e o Slave 1 estarão por trás de um cluster do HA Proxy.

Vamos monitorar o mestre muito de perto.

Se o monitor mestre detectar uma falha, executaremos um script que desligará a instância do mestre EC2 e interromperá o processo escravo na réplica.

O escravo 1 agora se tornará o mestre, e o escravo 2 se tornará escravo 1. O novo escravo 1 será adicionado ao cluster do HA Proxy.

Em seguida, reconstruiremos o Slave 2 a partir de um backup do Master (backup a cada 3 horas).

Obviamente, precisamos ter cuidado para garantir que todas as etapas do processo saiam de forma limpa e que tenhamos um tratamento sólido de erros.

Alguém pode opinar sobre a viabilidade de nossa solução DIY proposta?

    
por Garreth McDaid 16.08.2016 / 23:21

1 resposta

1

Estou assumindo que você está falando sobre replicação assíncrona aqui ...

Enquanto o escravo 1 precisa ser configurado para aceitar atualizações do mestre original, configurá-lo como mestre em si elimina uma etapa do seu processo de failover.

O escravo 2 nunca deve ficar a mais do que alguns segundos atrás do mestre - então, por que reconstruí-lo a partir de um backup que fica horas atrasado?

Você realmente precisa da capacidade de uma solução de nó ativo de 2 + 1 ativo? Está adicionando muita complexidade aqui? O escravo 2 faz atualmente qualquer coisa que não possa ser estrangulada no caso de perda de mestre?

Ou você pode simplesmente optar pela replicação multimestre.

    
por 17.08.2016 / 00:43