Réplication master-master

Réplication Master-Master

Description :

La réplication Master-Master (ou bidirectionnelle) est une variante où deux serveurs fonctionnent comme master l’un pour l’autre. Ils sont tous deux capables d’écrire et de lire des données, ce qui permet une répartition plus équilibrée de la charge, en particulier dans des environnements distribués.

Fonctionnement :

  • Chaque serveur agit à la fois en tant que master et slave.

  • Les modifications effectuées sur le master A sont répliquées sur le master B, et vice versa.

  • Cela permet une haute disponibilité et la scalabilité de l’écriture.

Avantages :

  • Scalabilité de la lecture et de l’écriture.

  • Haute disponibilité, car chaque serveur peut être utilisé comme point d’entrée pour les écritures.

Inconvénients :

  • Risque de conflits : Si des transactions contradictoires sont effectuées sur les deux serveurs, cela peut créer des incohérences.

  • Complexité de la configuration et gestion des conflits.

Configuration :

  • La configuration de chaque serveur est similaire à celle du master dans la réplication master-slave, mais chaque serveur doit également être configuré en tant que slave pour l'autre.

  • Utilisation des logs binaires pour échanger les données entre les deux serveurs.

Exemple de configuration :

-- Sur le serveur 1
CHANGE MASTER TO
MASTER_HOST='server_2',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;

-- Sur le serveur 2
CHANGE MASTER TO
MASTER_HOST='server_1',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;

START SLAVE;

Last updated