La réplication MongoDB permet de synchroniser les données sur plusieurs serveurs, offrant ainsi une haute disponibilité et une meilleure tolérance aux pannes. Cette technique repose sur la création d'un ensemble de répliques (Replica Set) composé d'un nœud primaire et de nœuds secondaires, assurant la continuité des opérations en cas de défaillance d'un serveur.
Pour configurer les membres secondaires dans un ensemble de répliques MongoDB, il faut démarrer chaque instance avec sa configuration respective
Configurer les instances MongoDB : Démarrez trois instances MongoDB sur des ports différents.
mongod --replSet "rs0" --port 27017 --dbpath /data/db1
mongod --replSet "rs0" --port 27018 --dbpath /data/db2
mongod --replSet "rs0" --port 27019 --dbpath /data/db3
Initialiser l'ensemble de répliques : Connectez-vous à une instance MongoDB et initialisez l'ensemble de répliques.
rs.initiate()
Ajoutez les autres instances comme membres de l'ensemble de répliques.
rs.add("localhost:27018")
rs.add("localhost:27019")
Les membres secondaires synchroniseront automatiquement les données avec le primaire, assurant ainsi la redondance et la haute disponibilité du système.
Utilisez la commande suivante pour vérifier le statut de l'ensemble de répliques.
rs.status()
Un arbitre dans MongoDB est un membre spécial d'un ensemble de répliques qui participe aux élections pour déterminer le primaire sans stocker de données. Les arbitres sont utilisés pour atteindre le quorum nécessaire lors des élections (nombre minimal de membres d'un ensemble de répliques qui doivent être disponibles et en communication pour effectuer des opérations spécifiques), ce qui est essentiel pour maintenir la haute disponibilité et la tolérance aux pannes.
Arbitre : Ajouter un arbitre pour aider à atteindre le quorum lors des élections sans stocker de données.
rs.addArb("localhost:27020")