Cet article parlera de la réplication maître-esclave dans redis et présentera l'utilisation spécifique, les précautions et le mode sentinelle. J'espère qu'il sera utile à tout le monde !
La réplication maître-esclave Redis est actuellement la méthode de séparation lecture-écriture la plus couramment utilisée. Un maître est attaché à un ou plusieurs esclaves. Le maître est responsable des opérations d'écriture et résout principalement les problèmes. Il s'agit de partager la pression de la lecture Redis et d'améliorer l'efficacité de la lecture et de l'écriture des données. [Recommandations associées :
Tutoriel vidéo RedisDeux : Utilisation spécifique
host est l'adresse de connexion, port est le numéro de port de la connexion. adresse, bien sûr, vous pouvez également la copier vous-même Plusieurs fichiers redis.conf peuvent démarrer plusieurs services Redis de différents ports en modifiant leur numéro de port, leur numéro de thread et d'autres informations
SLAVEOF [hôte] [port]
2. La bibliothèque principale est chargée de l'écriture (la lecture est également possible), la bibliothèque esclave ne peut lire que : SLAVEOF [host] [port]
2.主库负责写(读也可以),从库只能读:
主库中写的数据能在从库中获取:6381为主库,6380为从库
3.使从库重新成为主库:
SLAVEOF no one
(1)一般情况下,主库掉线后,从库会等待主库重新连线,依旧保持从库状态
(2)从库掉线后,需重新连上主库,才能作为从库,否则则为主库
概述:为了当主库服务掉线后,使其他从库能重新选取一个主库继续服务运转
作用:当主库服务掉线之后,哨兵会监听到主库掉线,并进行投票操作使其中一个从库成为主库替代原主库运行。
1、在redis服务启动的目录下创建一个 sentinel.conf
文件,vim编辑此配置文件
` sentinel monitor host6379 127.0.0.1 6381 1 `
2、通过 redis-sentinel 【文件目录】/sentinel.conf
连接建立-->数据同步-->命令持续传播 在从节点执行 slaveof 命令后,复制过程便开始运作,下面图示大概可以看到,\
ESCLAVE DE personne
< h2 data-id="heading-2">Trois : Précautions :
(1) Dans des circonstances normales, après la mise hors ligne de la base de données maître, la base de données esclave attendra que la base de données maître se reconnecte et maintiendra toujours l'état de la base de données esclave
Aperçu : Afin de permettre à d'autres bibliothèques esclaves de resélectionner une bibliothèque principale pour continuer lorsque le service de bibliothèque principale est hors ligne. Fonctionnement du serviceQuatre : Sentinelle Mode
Fonction : Lorsque le service de base de données principal est hors ligne, la sentinelle surveillera que le service de base de données principal est hors ligne. la base de données est hors ligne et effectuez une opération de vote pour faire de l'une des bases de données esclaves la base de données principale pour remplacer la base de données principale d'origine.
1. Créez un fichier
sentinel.conf
dans le répertoire où le service redis est démarré et modifiez ce fichier de configuration avec vim
# Error condition on socket for SYNC: {socket_error_reason}
2 via redis-sentinel [Répertoire de fichiers. ]/sentinel.conf
Démarrer Sentinel
Remarque : En mode Sentinel, lorsque la bibliothèque principale d'origine est reconnectée, Sentinel ajoutera ses opérations à la nouvelle bibliothèque principale, c'est-à-dire qu'elle existera en tant que bibliothèque esclave du nouvelle bibliothèque principale.
rrreee
On peut voir sur l'image que le processus de réplication est grossièrement divisé en 6 processusLes enregistrements du journal après la configuration maître-esclave peuvent également voir ce processus
1 ) Enregistrez les informations du nœud maître (maître).
Après avoir exécuté slaveof, Redis imprimera le journal suivant :
2) Le nœud esclave (esclave) maintient la logique liée à la réplication via des tâches planifiées qui s'exécutent toutes les secondes lorsque la tâche planifiée découvre qu'il existe un nouveau nœud maître. , il tentera de communiquer avec le nouveau nœud maître. Le nœud établit une connexion réseau
Le nœud esclave établit une connexion réseau avec le nœud maître
Le nœud esclave établira un socket Le nœud esclave établit un socket. avec le port 51234, qui est spécialement utilisé pour recevoir les messages envoyés par le nœud maître. Copiez la commande. Une fois la connexion réussie du nœud esclave, le journal suivant est imprimé :
4) Vérification des autorisations. Si le paramètre requirepass est défini sur le nœud maître, la vérification du mot de passe est requise. Le nœud esclave doit configurer le paramètre masterauth pour garantir que le mot de passe est le même que celui du nœud maître pour réussir la vérification. Si la vérification échoue, la réplication sera effectuée ; terminé et le nœud esclave relancera le processus de réplication.
5) Synchronisez les ensembles de données. Une fois la connexion de réplication maître-esclave communiquée normalement, lorsque la réplication est établie pour la première fois, le nœud maître enverra toutes les données qu'il détient au nœud esclave. Cette partie de l'opération est l'étape la plus longue.
6) Commande pour copier en continu. Lorsque le nœud maître synchronise les données actuelles avec le nœud esclave, le processus d'établissement de la réplication est terminé. Ensuite, le nœud maître enverra en permanence des commandes d'écriture aux nœuds esclaves pour garantir la cohérence des données maître-esclave.
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéos de programmation ! !
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!