Tutoriel MongoD...login
Tutoriel MongoDB
auteur:php.cn  temps de mise à jour:2022-04-21 17:49:03

Réplication MongoDB (jeu de réplicas)


La réplication MongoDB est le processus de synchronisation des données sur plusieurs serveurs.

La réplication fournit une sauvegarde redondante des données et stocke des copies de données sur plusieurs serveurs, améliorant ainsi la disponibilité des données. Et peut assurer la sécurité des données.

La réplication vous permet également de récupérer des données suite à des pannes matérielles et des interruptions de service.


Qu'est-ce que la réplication ?

  • Garantir la sécurité des données

  • Haute disponibilité des données (24*7)

  • Reprise après sinistre

  • Aucun temps d'arrêt requis pour la maintenance (comme la sauvegarde, la réindexation, la compression)

  • Lecture distribuée des données


Principe de réplication MongoDB

La réplication Mongodb nécessite au moins deux nœuds. L'un d'eux est le nœud maître, responsable du traitement des demandes des clients, et les autres sont des nœuds esclaves, responsables de la réplication des données sur le nœud maître.

Les méthodes de collocation courantes de chaque nœud de mongodb sont : un maître et un esclave, un maître et plusieurs esclaves.

Le nœud maître enregistre toutes les opérations oplog sur lui. Le nœud esclave interroge périodiquement le nœud maître pour obtenir ces opérations, puis effectue ces opérations sur sa propre copie de données, garantissant ainsi que les données du nœud esclave sont cohérent avec le nœud maître.

Le diagramme de structure de réplication MongoDB est le suivant :

MongoDB复制结构图

Le diagramme de structure ci-dessus montre que le client lit les données du nœud maître et écrit des données sur le client. . Le nœud maître est, L'interaction des données entre le nœud maître et les nœuds esclaves garantit la cohérence des données.

Fonctionnalités de l'ensemble de réplicas :

  • Cluster de N nœuds

  • N'importe quel nœud peut servir de nœud maître

  • Toutes les écritures se font sur le nœud principal

  • Basculement automatique

  • Récupération automatique


Paramètres du jeu de réplicas MongoDB

Dans ce tutoriel, nous utilisons le même MongoDB pour réaliser l'expérience maître-esclave MongoDB. Les étapes sont les suivantes :

1. Fermez le serveur MongoDB en cours d'exécution.

Maintenant, nous démarrons mongoDB en spécifiant l'option --replSet. Le format de syntaxe de base de --replSet est le suivant :

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

Instance

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0

L'instance ci-dessus démarrera une instance MongoDB nommée rs0, dont le numéro de port est 27017.

Après le démarrage, ouvrez l'invite de commande et connectez-vous au service mongoDB.

Utilisez la commande rs.initiate() sur le client Mongo pour démarrer un nouveau jeu de réplicas.

Nous pouvons utiliser rs.conf() pour afficher la configuration du jeu de réplicas

Pour afficher l'état du jeu de réplicas, utilisez la commande rs.status()


Ajouter des membres au jeu de réplicas

Pour ajouter des membres au jeu de réplicas, nous devons utiliser plusieurs serveurs pour démarrer le service mongo. Entrez dans le client Mongo et utilisez la méthode rs.add() pour ajouter des membres du jeu de réplicas.

Syntaxe

Le format de syntaxe de base de la commande rs.add() est le suivant :
>rs.add(HOST_NAME:PORT)

Instance

Supposons que vous ayez démarré un Mongo nommé mongod1.net avec le port numéro 27017 Servir. Utilisez la commande rs.add() dans la fenêtre de commande client pour l'ajouter au jeu de réplicas. La commande est la suivante :

.
>rs.add("mongod1.net:27017")
>

Dans MongoDB, vous ne pouvez ajouter le service Mongo au jeu de réplicas que via le nœud maître. Pour déterminer si le service Mongo en cours d'exécution est le nœud maître, vous pouvez utiliser la commande db.isMaster().

Le jeu de réplicas de MongoDB est différent de notre maître-esclave commun. Tous les services du maître-esclave s'arrêteront après la panne de l'hôte, tandis que dans le jeu de réplicas, après la panne de l'hôte, la réplique prendra le relais. le nœud maître et devenez le nœud maître. Il n'y aura pas de temps d'arrêt.

Site Web PHP chinois