
Hace algún tiempo escribí un script para manejar enlaces de replicación asincrónica entre clústeres de Percona XtraDB. La publicación original se puede encontrar aquí. El script funcionó bien con Percona XtraDB Cluster pero no funcionó bien con MariaDB®. Finalmente, el administrador de replicación funciona con MariaDB.
Primero, repasemos el propósito del guión. Administrar enlaces de replicación entre clústeres basados en Galera es una tarea tediosa. Hay muchos esclavos potenciales y muchos amos potenciales. Además, cada enlace de replicación debe tener solo un esclavo. Solo intente descubrir cómo mantener la siguiente topología de replicación:
Una topología de replicación compleja
La topología anterior consta de cinco clústeres y cuatro enlaces de maestro a maestro. El administrador de replicación puede manejar fácilmente esta topología. Por supuesto, esto no es una corrección de las limitaciones de la replicación asíncrona. Debe asegurarse de que sus scripts sean de replicación segura. Es posible que desee, por ejemplo, una lista global de usuarios o centralizar ciertos registros de acceso. Solo para refrescar sus recuerdos, aquí hay algunos puntos del guión:
- Usar el clúster de Galera para Quorum
- Topologías configurables, arbitrariamente complejas
- El script analiza la topología en las tablas de la base de datos.
- Elige esclavos automáticamente
- Supervisa los enlaces de replicación
- Los esclavos se pueden conectar a una lista de maestros potenciales
Como probablemente sepa, MariaDB tiene una implementación y una sintaxis de GTID diferentes para los comandos de replicación de múltiples fuentes. Me tomó un tiempo investigar por qué el script falló y se solucionó. Ahora, mientras use MariaDB 10.1.4+ con GTID, el administrador de replicación funciona bien.
Puedes encontrar el guion aquí. Sabes que, aunque funciona para Percona, Percona no admite oficialmente el script.