Les services hautement disponibles sont つい construit avec seulement deux nœuds. Vous avez besoin au moins trois, pour atténuer les problèmes de cerveau divisé. Dans le cas d'une distribution géographique, ce problème est encore plus important que pour les services physiquement co-localisés ; n'essayez pas de l'ignorer si vous tenez à vos données et à votre temps de disponibilité. Si vous ne pouvez pas vous permettre d'avoir trois nœuds, il vaut mieux ne pas faire de HA du tout, ou vos tentatives pour obtenir un meilleur service ne feront qu'empirer les choses.
Ceci étant établi, je vous suggère d'utiliser Galera. Il s'agit d'une réplication multi-maître intégrée à MariaDB moderne (un clone de MySQL par le même auteur, un remplacement direct). Comme prévu, il faut trois nœuds, mais seuls deux d'entre eux doivent être des serveurs à part entière, et le troisième peut être ce qu'on appelle un nœud d'arbitrage (conçu pour départager les participants dans un processus de sélection du quorum).
Vous créez donc deux conteneurs contenant des données et une troisième machine jouant le rôle d'arbitre. Vous pouvez également faire du troisième nœud un serveur à part entière, mais ne l'utiliser que pour effectuer des sauvegardes de bases de données, afin que les serveurs primaires ne soient pas bloqués lorsque la sauvegarde est en cours d'exécution. Il est également préférable d'en faire une source SST privilégiée, de sorte que si un serveur redémarre et a besoin d'un SST, il n'étouffera pas l'autre pendant le processus SST. Il est important que le troisième nœud soit situé au troisième endroit, et non pas au même endroit que les deux serveurs principaux, de sorte qu'il puisse être un véritable facteur de rupture d'égalité.
J'utilise une telle installation Galera géographiquement dispersée, les instances MariaDB communiquent via des VPN et cela fonctionne bien.