Tópico distribuído | Três maneiras de replicação mestre-escravo Mysql que você deve conhecer!

Continuando conosco, construímos a arquitetura de replicação mestre-escravo do Mysql. Hoje apresentaremos três métodos de replicação mestre-escravo, que também serão solicitados com frequência durante a entrevista:

Replicação síncrona

A replicação síncrona significa que após a biblioteca principal confirmar a transação, o binlog foi transmitido para o relay log da biblioteca escrava através do encadeamento de despejo. A biblioteca principal precisa aguardar a confirmação de envio da biblioteca escrava. Após a reprodução ser concluída , a biblioteca escrava responderá um ACK à biblioteca principal. A biblioteca principal então termina de esperar e executa as operações subsequentes. Nota: Se houver vários nós escravos neste momento, mais tempo a biblioteca principal irá esperar, então é necessário definir um tempo de espera de tempo limite.

Insira a descrição da imagem aqui

Replicação assíncrona

Modo de replicação assíncrona a fim de resolver o problema do longo tempo de espera da biblioteca principal, retornará para confirmar o cancelamento, e é quando a biblioteca principal finalizou a transação é confirmada, sem esperar a confirmação da biblioteca para enviar, na implementação das operações de acompanhamento retornadas diretamente ao cliente;
mas isso causará o problema: quando o host envia a transação e desliga, mas neste momento o binlog não foi sincronizado com a biblioteca escrava, se o mestre-escravo a troca for forçada, os novos dados da biblioteca mestre estarão incompletos

Insira a descrição da imagem aqui

Replicação semissíncrona

O método semissíncrono é um compromisso entre os métodos de replicação síncrona e assíncrona: a
mesma biblioteca principal ainda precisa aguardar a confirmação da biblioteca escrava antes de realizar as operações subsequentes, mas a diferença é que desta vez não está esperando pelo escravo biblioteca para enviar a transação antes de enviar A notificação de confirmação é enviada para a biblioteca principal, mas quando a biblioteca escrava grava o binlog no relaylog, ela envia uma notificação de confirmação para a biblioteca principal. Isso não só reduz o tempo de espera, mas também mantém a segurança dos dados

Insira a descrição da imagem aqui

Replicação semissíncrona aprimorada

No caso de replicação semissíncrona, se houver tal situação: após a biblioteca principal submeter a transação, ela começa a aguardar o retorno da gravação do relé da biblioteca escrava. Se a biblioteca escrava tiver um acidente neste momento (ele pode ser roubado), o mestre O tempo limite de espera da biblioteca, desta vez, a biblioteca principal irá encerrar diretamente a espera, porque a transação foi enviada, o usuário pode definitivamente ver os dados não sincronizados, a fim de resolver este problema, mysql5.7 introduzido replicação semissíncrona aprimorada:
somente quando Depois de receber pelo menos uma confirmação de gravação do relay log retornada da biblioteca, a transação é enviada, o que significa que a transação é confirmada após o recebimento da confirmação

Insira a descrição da imagem aqui

Wechat search for a search [Le Zai open talk] Siga o bonito eu, responda [Receber produtos secos], haverá muitos materiais de entrevista e livros de leitura obrigatória para arquitetos esperando por você para escolher, incluindo java básico, java simultaneidade, microsserviços, middleware, etc. Mais informações estão esperando por você.

Acho que você gosta

Origin blog.csdn.net/weixin_34311210/article/details/109980559
Recomendado
Clasificación