Maison  >  Article  >  base de données  >  Comment Redis implémente-t-il la réplication maître-esclave ?

Comment Redis implémente-t-il la réplication maître-esclave ?

PHPz
PHPzavant
2023-05-29 14:21:351683parcourir

    1. Qu'est-ce que Master&Slave ?

    C'est ce que nous appelons la réplication maître-esclave. Une fois les données de l'hôte mises à jour, elles sont automatiquement synchronisées avec le mécanisme maître/esclave de la machine de secours selon la configuration et la politique. Le maître est principalement destiné à l'écriture, et l'esclave. est principalement destiné à la lecture.

    2. Que peut-il faire ?

    1. Séparation de la lecture et de l'écriture;

    2.

    3. Comment jouer ?

    1. Equipé d'un esclave (bibliothèque) mais pas d'un maître (bibliothèque) ;

    2. Configuration de la bibliothèque esclave : esclave de [IP de la bibliothèque principale] [port de la bibliothèque principale] ; , Tous doivent être reconnectés, sauf si vous configurez le fichier redis.conf

    • Tapez la réplication des informations pour afficher les informations maître-esclave redis.

    • 3. Modifier les détails du fichier de configuration

    • - Copier plusieurs fichiers redis.conf

    - Spécifier le port

    Comment Redis implémente-t-il la réplication maître-esclave ?

    - Activer démoniser oui

    Comment Redis implémente-t-il la réplication maître-esclave ?

    - Nom du fichier Pid

    Comment Redis implémente-t-il la réplication maître-esclave ?

    -Nom du fichier journal

    Comment Redis implémente-t-il la réplication maître-esclave ?

    -Nom du fichier Dump.rdb

    Comment Redis implémente-t-il la réplication maître-esclave ?

    4. 3 astuces couramment utilisées

    Comment Redis implémente-t-il la réplication maître-esclave ?-Un maître et deux serviteurs

    Un maître, deux esclaves, l'esclave ne peut que lire mais pas d'écriture ; lorsque l'esclave est déconnecté du maître, l'esclave doit être reconnecté avant que la relation maître-esclave précédente puisse être établie après que le maître ait raccroché, la relation maître existe toujours et peut être restaurée en redémarrant le maître ; .

    Comment Redis implémente-t-il la réplication maître-esclave ?- Passage du feu

    L'esclave précédent peut être le maître du prochain esclave. L'esclave peut également recevoir des demandes de connexion et de synchronisation des autres esclaves. L'esclave devient alors le maître du prochain esclave de la chaîne. , ce qui peut être efficace Réduire la pression d'écriture du Master. Si le serveur esclave change de serveur maître pour la synchronisation des données à mi-chemin, les anciennes données seront effacées et la synchronisation avec le dernier serveur maître sera rétablie.

    Comment Redis implémente-t-il la réplication maître-esclave ?- Se retourner contre les clients

    Lorsque le maître raccroche, l'esclave peut taper la commande slaveof no one pour empêcher le redis actuel de synchroniser les données avec d'autres redis maître et le transformer en redis maître.

    4. Principe de copie

    1. Une fois que l'esclave démarre et se connecte avec succès au maître, il enverra une commande de synchronisation

    2. Le maître reçoit la commande pour démarrer le processus de sauvegarde et collecte en même temps tout ; commandes reçues pour modifier l'ensemble de données. Une fois le processus en arrière-plan exécuté, le maître transférera l'intégralité du fichier de données à l'esclave pour effectuer une synchronisation complète :

    3. la mémoire ;

    4 , Réplication incrémentale : le maître continue de transmettre toutes les nouvelles commandes de modification collectées à l'esclave afin de terminer la synchronisation ;

    5. Mais tant que le maître est reconnecté, une synchronisation complète (réplication complète) sera automatiquement effectuée ; exécuté.

    5. Mode Sentinelle (sentinel)

    Une version automatique qui est principalement anti-client. Elle peut surveiller si la bibliothèque principale est défectueuse en arrière-plan. En cas d'échec, elle convertira automatiquement la bibliothèque esclave en bibliothèque principale. sur le nombre de voix. Un groupe de sentinelles peut surveiller plusieurs Maîtres en même temps.

    Étapes d'utilisation :

    1. Créez un nouveau fichier sentinel.conf dans le même répertoire que redis.conf dans le Master. 2. le fichier sentinel.conf :

    sentinel monitor Nom de la base de données surveillée (nommez-la vous-même) port ip 1

    • Explication : Le dernier chiffre 1 ci-dessus signifie qu'après que l'hôte raccroche, l'esclave votera pour voyez qui prendra la relève en tant qu'hôte. L'hôte deviendra l'hôte après avoir obtenu le nombre de votes.

    • 3. Démarrez le mode sentinelle :

    Type de commande : redis-sentinel /myredis/sentinel.conf

    • Remarque : le chemin sentinel.conf ci-dessus est configuré en fonction de la situation réelle

    • 6 .Inconvénients copiés

    • Latence. Étant donné que toutes les opérations d'écriture sont effectuées sur le maître puis synchronisées avec l'esclave, il y a un certain retard dans la synchronisation du maître vers la machine esclave. Lorsque le système est très occupé, le problème de retard sera. L'augmentation du nombre de machines esclaves rendra également ce problème plus grave.

    Détails du déploiement du maître Redis et du nœud esclave

    1. Créez deux fichiers redis.conf, un maître et un esclave

    redis_6379.conf
    redis_6380.conf

    2. Configuration principale de la configuration principale

    bind 127.0.0.1
    port 6379
    protected-mode yes
    daemonize yes
    pidfile /var/run/redis_6379.pid
    logfile "/Data/apps/redis-3.2.12/logs/redis_6379.log"
    dbfilename dump_6379.rdb
    dir /Data/apps/redis-3.2.12/workplace
    requirepass paopao

    3. master Du processus redis-server

    bind 127.0.0.1
    port 6380
    protected-mode yes
    daemonize yes
    pidfile /var/run/redis_6380.pid
    logfile "/Data/apps/redis-3.2.12/logs/redis_6380.log"
    dbfilename dump_6380.rdb
    dir /Data/apps/redis-3.2.12/workplace
    slaveof 127.0.0.1 6379
    masterauth paopao

    5 Autres configurations associées

    redis-server /Data/apps/redis-3.2.12/conf/redis_6379.conf
    redis-server /Data/apps/redis-3.2.12/conf/redis_6380.conf
    .

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer