Balanceamento De Carga MySQL

Temos 6 servidores (4 servidores de aplicações e 2 servidores DB)

estamos a usar o HAProxy para carregar o equilíbrio entre a aplicação e os servidores API (2/2)

agora o problema que estou tendo é que o administrador do sistema configurar um mestre/escravo no MySQL, mas ele está sempre falhando e até agora não podemos usar o escravo uma vez que a maioria dos dados estão sempre corrompidos e nós sempre precisamos corrigi-lo e cada vez que estamos recebendo erros diferentes .

Tentámos fazer uma espécie de carga. Balancear para a leitura / escrita (Escrever em Mestre , ler em escravo), mas nós não fomos capazes de usar isso, uma vez que os dados do escravo nem sempre são corretos .

O que estou a pensar é como é que os grandes se comportam quando lidam com servidores de alta carga, onde sempre precisamos que os dados sejam precisos e não podemos correr nenhum risco?

Alguém pode dizer-me a sua própria experiência e o que ele usou ?

O Que eu encontrei: Conjunto Percona XtraDB , mas antes de ir para esta direcção precisa de entrada ...

Obrigado !!

Author: Tarek, 2016-07-26

4 answers

O erro "a mesa está cheia" significa que o teu escravo não tem espaço suficiente para executar a tabela alterna. Você precisa obter discos maiores para resolver esse erro.

Mas o subtexto é que ninguém está a monitorizar os servidores da base de dados, e isso é um problema maior. Você precisa obter um administrador de banco de dados, ou então obter um serviço profissional para fazê-lo.
O que estou a pensar é como é que os grandes se comportam quando lidam com servidores de alta carga onde é preciso sempre que os dados estejam precisa e não pode correr nenhum risco?
Primeiro, tira da cabeça que qualquer sistema não tem riscos. Isso é impossível, se planeias usar o sistema. Você não pode eliminar a possibilidade de erros, mas você pode estar preparado para se recuperar deles perfeitamente.

Os grandes fazem o seguinte:

  1. Contratar pessoal de operações, incluindo administradores de sistemas, administradores de rede, administradores de bases de dados para cuidar do servidor.

  2. Monitoriza tudo. Use software para acompanhar a carga do sistema, espaço em disco, erros, e muitas outras coisas continuamente. A melhor opção é uma nova Relíquia. Para a integridade do escravo MySQL, use uma ferramenta como pt-table-checksum.

  3. Redundância. Criar sistemas de espera e dados para assumir quando (não se) o sistema primário falhar.

Você provavelmente quer aprender sobre o campo da arquitetura de alta disponibilidade. Vejam só esta conversa: Arquitecturas
 2
Author: Bill Karwin, 2016-07-31 16:36:04

Podes escolher MySQL / MariaDB+ Percona + HAproxy. Esta combinação suporta sincronização Mestre - Mestre e sincronização de dados funcionam muito bem. A maior parte da sincronização de dados em tempo Real tem problemas com chave primária e estrangeira. Você pode evitar esses problemas também usando Percona. Vai em frente e boa sorte.

 1
Author: keep_help, 2016-07-31 00:59:31
Entra na amazon ec2. Você pode lançar 4 servidores de aplicativos, juntamente com 2 db servidores em tempo real e configurar o equilíbrio de carga usando recursos de engenharia aws.

Http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-getting-started.html#define-load-balancer

Https://aws.amazon.com/articles/1639

 1
Author: unixmiah, 2016-07-31 04:03:23
 1
Author: Reza Mousavi, 2016-07-31 15:40:44