No documento oficial
https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication.html Mencionou que se a replicação síncrona for necessária, use NDB
Para cenários onde a replicação síncrona é necessária, use NDB Cluster (consulte MySQL NDB Cluster 7.5 e NDB Cluster 7.6).
Pergunta 1. O mysql não suporta replicação síncrona, apenas o cluster mysql suporta replicação síncrona?
Pergunta 2. Onde está o documento para replicação síncrona para NDB? Vejo várias postagens mencionando que a replicação NDB é síncrona por padrão https://stackoverflow.com/questions/53149674/can-i-implement-synchronous-and-asynchronous-replication- com o cluster mysql
Mas o documento oficial menciona apenas replicação assíncrona e semissíncrona https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-replication.html
O NDB Cluster oferece suporte à replicação assíncrona, mais comumente chamada simplesmente de “replicação”. Esta seção explica como definir e gerenciar uma configuração na qual um grupo de computadores operando como um cluster NDB é replicado para um segundo computador ou grupo de computadores. Assumimos alguma familiaridade por parte do leitor com a replicação padrão do MySQL conforme discutido em outra parte deste Manual. (Consulte o Capítulo 19, Replicação).
Pergunta 3: Se mysql ou NDB suportam replicação síncrona, eles usam 2PC? O que acontece durante a partição da rede ou os nós de réplica não estão disponíveis? O NDB sacrifica a disponibilidade em detrimento da consistência? O NDB faz eleição de liderança?
Esta postagem diz que sim https://dev.mysql.com/blog-archive/2-phase-commit-in-ndbcluster/
Mas não consigo encontrar documentação sobre o comportamento da compensação entre disponibilidade e consistência durante partição de rede ou falha de réplica?