Replicação do Centro de Dados MySQL [fechada]

1

Eu tenho uma (possivelmente não tão rápida) pergunta sobre a melhor maneira de configurar um banco de dados MySQL 'global'.

Basicamente, eu preciso configurar vários servidores MySQL em locais geograficamente separados que irão todos os servidores do mesmo conjunto de dados (ou seja, se eu adicionar dados a um servidor, ele aparecerá em outro servidor com relativa rapidez). Por exemplo, se um usuário na América se conecta ao nosso site nos EUA e solicita um produto (o servidor da web dos EUA será conectado a um servidor MySQL dos EUA), precisamos dos dados que foram inseridos / atualizados / excluídos / o que for sincronizado com nossos servidores MySQL australianos, da Nova Zelândia, do Reino Unido, etc.

Eu dei uma olhada nos clusters do MySQL, na replicação Master-Master, no Galera Cluster, na Replicação Circular, etc, e fiquei me perguntando quais eram seus pensamentos? Eu li muitos prós e contras e simplesmente não consigo decidir qual é a melhor opção. Há alguma configuração de referência da qual você esteja ciente?

Agradeço pelo seu tempo e contribuições valiosas:)

    
por Luke Vear 19.01.2013 / 07:03

1 resposta

0

Muito provavelmente, você precisará reconsiderar sua decisão de usar o MySQL. Se você precisar de replicação multimestre, é uma escolha ruim.

Além disso, você precisa realmente fazer algum trabalho em suas especificações - "relativamente rápido" não é de forma alguma uma medida que você possa colocar em qualquer infra-estrutura existente ou hipotética. Você também não deve ter horários específicos (pois eles podem variar dependendo da qualidade da conexão usada), mas informe se você precisa ou não de segurança de transações em todas as suas réplicas:

  • se algo foi pedido ao servidor de banco de dados dos EUA, você precisa ter certeza absoluta que não pode ser solicitado uma segunda vez a partir de outros servidores de banco de dados ou sua lógica é capaz de manipular -comprometimentos?
  • se você está gravando dados de re-stocks para o servidor X, você precisa ter certeza absoluta de que nenhum dos outros servidores está mostrando dados obsoletos?
  • se um depósito tiver sido adicionado a uma conta e um pedido para essa conta for colocado simultaneamente no Reino Unido e na Nova Zelândia, é necessário verificar se o dinheiro não pode ser gasto duas vezes porque sua replicação não estava atualizada com a conta processo de encomenda?

Em suma, como seu projeto está obviamente no estágio de design, essa não é uma questão de infraestrutura. Faça um design decente primeiro, volte com perguntas sobre a implementação quando terminar. Considere usar outros recursos - especialmente leia o que outras pessoas escreveram sobre o tema design de banco de dados e pergunte sobre StackOverflow se você tiver alguma dúvida específica relacionada ao desenvolvedor.

    
por 19.01.2013 / 10:12