Replicação do Amazon RDS para o EC2 [duplicado]

2

Meu aplicativo de leitura intensiva precisa ser dimensionado horizontalmente. Ele será implantado por vários clientes usando o Amazon EC2. Meu pensamento inicial é que uma configuração básica utilizará uma instância do RDS e uma instância do EC2. A instância EC2 (c1.medium) executará um servidor da Web e uma réplica de leitura local do MySQL do servidor RDS. O aplicativo é configurado para usar o servidor RDS para gravações e localhost para leituras. Usando um grupo de autoescala, mais instâncias do EC2 de médio porte são inicializadas de acordo com a carga. Cada nova instância do EC2 terá seus próprios dados replicados do mysql local para leitura.

Agora, a pergunta: posso conectar-me ao RDS para criar réplicas de leitura locais?

A alternativa óbvia é inicializar nós extras de réplica de leitura oficial usando a API do RDS, mas eu não gosto disso porque eu precisaria escalar em etapas de duas máquinas em vez de uma, o que é mais caro. Além disso, prefiro que o mysql leia consultas locais devido à latência.

    
por Willem 03.02.2012 / 14:46

2 respostas

2

Atualização / esclarecimento

Embora eu interpretasse a resposta do fórum da AWS vinculada e citada em relação à Non-RDS para a replicação RDS das duas formas (provavelmente eles mencionaram a alternativa), uma pergunta relacionada pergunta explicitamente sobre < a href="https://forums.aws.amazon.com/thread.jspa?messageID=178291&#178291"> O uso do RDS como mestre de replicação também não foi resolvido até hoje.

Infelizmente, isso ainda não é suportado pelo Amazon RDS , veja a resposta do drcursor à pergunta semelhante É possível usar uma instância do EC2 RDS MySQL como escravo para um mestre externo? :

This is still not supported as of February 2011, RDS instance as a replication slave:

Non-RDS to RDS replication is not currently supported [...]. However, we will log your interest for our future road map planning.

    
por 03.02.2012 / 15:05
0

Por que você não usaria simplesmente as réplicas de leitura do RDS para configurar instâncias menores para fazer suas leituras e deixar o RDS mestre para as gravações? Parece que o seu sistema já está desenvolvido para lidar com isso. Não existe uma maneira fácil de configurar a replicação das instâncias do RDS sem fazer mysqldumps repetidos e, em seguida, reimportar localmente. Se o seu aplicativo estiver fazendo cache de dados apropriado internamente, não deverá escalonar 1: 1 para réplicas de leitura. Se o cache de dados no aplicativo é tão ruim que você precisa ter uma proporção de 1: 1, eu voltaria e re-usaria o aplicativo ou procuraria usar o memcache (ElastiCache) para armazenamento intermediário de dados em cache de leituras de RDS.

    
por 03.02.2012 / 15:03