Arquitetura de alta disponibilidade do MySQL

Ao considerar a arquitetura altamente disponível do banco de dados MySQL, ela é considerada principalmente dos seguintes aspectos:

  1. Se o banco de dados estiver inativo ou interrompido inesperadamente, você poderá restaurar a disponibilidade do banco de dados o mais rápido possível, reduzir o tempo de inatividade o máximo possível e garantir que os negócios não sejam interrompidos devido a uma falha no banco de dados.
  2. Os dados do nó não primário usado para backup, cópia somente leitura e outras funções devem ser consistentes com os dados do nó primário em tempo real ou eventualmente.
  3. Quando ocorre uma troca de banco de dados em um negócio, o conteúdo do banco de dados antes e depois da troca deve ser consistente e os negócios não serão afetados devido à falta de dados ou a inconsistências.

Falando da alta disponibilidade do MySQL, temos que mencionar a replicação, que é a base da alta disponibilidade do MySQL. A seguir estão os problemas resolvidos pela "cópia":

  1. Implementar backup de dados
  2. Se houver um servidor escravo, depois que o servidor mestre falhar, a função de gravação do servidor escravo será ativada para fornecer funções de uso altamente disponíveis
  3. Recuperação de desastres fora do local
  4. Dimensionar o servidor principal de carregamento: gravação, servidor escravo: leitura

Processo de replicação mestre-escravo

Contratos de replicação diferentes:

Arquitetura de replicação altamente disponível

Arquitetura de alta disponibilidade Mysql

Arquitetura de cluster do MySQL

Restrinja o mecanismo de armazenamento ao mecanismo de armazenamento NDB:

Arquitetura MySQL + MMM

O MMM é o Master-Master Replication Manager para MySQL (mysql master master replication manager), é um conjunto de suítes de scripts escaláveis ​​para monitoramento, failover e gerenciamento da configuração do master mysql master replication (somente um nó pode ser gravado a qualquer momento In), esse conjunto também pode ser baseado na configuração padrão mestre-escravo para que qualquer número de servidores escravos carregue a leitura do equilíbrio, para que você possa usá-lo para iniciar um ip virtual em um grupo de servidores de replicação Script para backup de dados e ressincronização entre nós.
 O próprio MySQL não fornece uma solução para failover de replicação. A solução MMM pode obter failover de servidor, alcançando assim alta disponibilidade do mysql.

Recursos deste programa:

  1. Alta segurança, estabilidade e boa escalabilidade
  2.  São necessários pelo menos três ou mais servidores
  3.  Para mestre duplo (os requisitos de replicação mestre-escravo são mais altos)
  4. Também pode obter separação de leitura e gravação

Arquitetura MySQL + MHA

O MHA também deve ser uma solução relativamente madura e comum no programa de alta disponibilidade do MySQL. Foi desenvolvido pelos japoneses. Durante o processo de failover do MySQL, o MHA pode realizar operações de comutação rápidas e automáticas e também manter a consistência dos dados ao máximo. .

Recursos desta arquitetura:

  1. Instalação e implantação simples, não afeta a estrutura existente
  2. Monitoramento e failover automáticos
  3. Garanta a consistência dos dados
  4. O modo de failover pode usar a seleção multidirecional manual ou automática
  5. Ampla adaptabilidade (aplicável a qualquer mecanismo de armazenamento)

Sumário

À medida que os requisitos das pessoas para a consistência dos dados continuam aumentando, mais e mais métodos são tentados para resolver o problema da consistência dos dados distribuídos, como otimização do próprio MySQL, otimização da arquitetura de cluster do MySQL, Paxos, Raft, algoritmo 2PC A introdução e assim por diante.

O uso de algoritmos distribuídos para resolver o problema da consistência dos dados do banco de dados MySQL também é cada vez mais aceito pelas pessoas. Uma série de produtos maduros, como PhxSQL, MariaDB Galera Cluster, Percona XtraDB Cluster, etc. Escala de uso.

Com o GA da replicação de grupo oficial do MySQL, o uso de protocolos distribuídos para resolver problemas de consistência de dados tornou-se a direção principal. Espera-se que mais e mais excelentes soluções sejam propostas, e os problemas de alta disponibilidade do MySQL possam ser melhor resolvidos.

Publicado 6 artigos originais · recebido 1 · visualizações 655

Acho que você gosta

Origin blog.csdn.net/DY1316434466/article/details/105439633
Recomendado
Clasificación