O MySQL Cluster é apropriado para um sistema multi-homed pequeno e de baixo volume?

4

Eu gostaria de multi-home uma aplicação baseada na web proprietária para uma base de usuários relativamente pequena com tamanho modesto de conjunto de dados. A escalabilidade não é tão preocupante quanto a disponibilidade extremamente alta. O sistema tem uma arquitetura extremamente básica: o PHP rodando em um único VPS do Linux tocando em um servidor MySQL padrão.

Estou pensando em usar vários VPSs em datacenters geograficamente distintos, de modo que se um usuário tiver problemas para se conectar a um servidor, tente outro (eu tenho idéias separadas sobre como automatizar o failover e potencialmente georoute, mas essa é outra questão). O código do aplicativo PHP e outros arquivos seriam rsynced; no entanto, ainda não resolvi como sincronizar os bancos de dados ... é razoável usar o MySQL Cluster para isso?

Se um nó cair, os outros devem continuar trabalhando. Quando um nó é reativado, ele deve voltar automaticamente em sincronia. Dado que haveria latência do tipo WAN entre os datacenters, a velocidade de gravação não pode depender da conectividade dentro do cluster. A consistência de dados é desejável, mas não a prioridade de substituição. A simplicidade do sistema é importante - não posso me dar ao luxo de passar o próximo mês descobrindo as nuances do banco de dados.

Se o MySQL Cluster não é apropriado para isso, quais são algumas outras alternativas a serem consideradas?

    
por dlo 08.06.2011 / 23:53

2 respostas

3

Uma solução mais simples, na minha opinião, é uma configuração de replicação master-master do MySQL onde ambos os sites enviam consultas para o outro e os executam. Um howto direto ao ponto pode ser encontrado aqui:

link

Se você tiver um conjunto de dados existente, poderá usar mysqldump para exportar o banco de dados antes de executar essas etapas, para que ele possa ser inserido no escravo antes que a configuração seja feita. Só não se esqueça de obter o master_log_position como você faz a exportação para que você saiba onde recuperar o atraso. É altamente recomendável criar um ambiente de desenvolvimento para trabalhar para que você possa aprender como tudo funciona.

    
por 09.06.2011 / 00:09
0

O MySQL Cluster geralmente não é adequado para aplicativos da Web.

É uma espécie de solução exótica, mas confira Galera

Lembro-me de ver em algum lugar que eles disseram que a replicação da WAN é possível.

Há também Tungsten Enterprise .

Galera é a replicação síncrona, enquanto o tungstênio é assíncrono.

Felicidades

    
por 09.06.2011 / 00:42