Relação mestre-escravo do Amazon RDS entre instâncias do EC2 com balanceamento de carga ativado

1

Estamos planejando mover nosso aplicativo Tomcat / MySQL para a nuvem da Amazon, empregando 2 instâncias EC2 (inst_1 & amp_2) em execução em diferentes zonas de disponibilidade, em que inst_1 conterá o db mestre do RDS e inst_2 o db do RDS escravo. Se empregarmos balanceamento de carga elástico para balancear o tráfego entre as duas instâncias, o tráfego direcionado para inst_2 que inclui as transações insert / update / delete db primeiro atualizará o banco de dados mestre RDS em inst_1 seguido por uma atualização síncrona do escravo em inst_2; assegurando assim que as duas instâncias do RDS estejam sempre sincronizadas? A informação publicada da Amazon (whitepapers) sugere tal coisa, mas não a declara explicitamente. Se não, como garantir que as duas instâncias do RDS permaneçam sincronizadas? Nota adicional: Estamos planejando empregar o Elastic Beanstalk da Amazon. Obrigado!

    
por Greg Henson 22.11.2012 / 20:32

1 resposta

0

O Amazon RDS permite que você configure o que é chamado de Multi-AZ, o que significa que você tem um servidor principal em um AZ e um backup em outro AZ.

Os servidores de aplicativos EC2 com balanceamento de carga sempre acessarão um e apenas um desses servidores a qualquer momento: geralmente o principal até que ele falhe, ponto no qual o aplicativo deve fazer failover automaticamente para o servidor secundário.

O único caso em que inst_1 poderia estar acessando o RDS primário enquanto inst_2 está acessando o RDS secundário seria durante o período de transição real do failover e isso seria apenas porque inst_1 ainda não foi notificado da falha.

Operações como inserir, atualizar e excluir funcionam de maneira que os dois servidores sejam atualizados simultaneamente.

    
por 22.11.2012 / 20:57