Eu estava lendo sobre como criar um sistema de réplica primária e quero fazer isso em produção. Mas com base neste link , percebi que o thread do binlog poderia falhar e os dados seriam perdidos.
Não encontrei nada de útil sobre o assunto, mas existe alguma maneira de descobrir se algum dado foi perdido?
O que posso fazer para evitar isso?
A página de documentação é um pouco zelosa demais. Vou corrigir isso em breve.
Os dados não são "perdidos". Acontece que quando os escravos são desligados, eles precisam parar de replicar em algum momento. Assim que o mestre for reiniciado, os escravos se reconectarão e retomarão de onde pararam. Nenhum dado é perdido.
A replicação do MariaDB não é síncrona e toda essa "semi-sincronização" realmente não o torna assim. Se você desconectar todos os escravos e então confirmar uma transação, e então jogar o servidor mestre na lixeira sem permitir que os escravos o vejam novamente, então sim, sua última transação não será replicada e será "perdida".
Palavras de Kristian Nielsen produzidas com permissão.