当前位置:网站首页>Le modèle sentinelle de redis
Le modèle sentinelle de redis
2022-07-06 09:13:00 【- Pompéi】
Table des matières
RedisMode sentinelle
1.Présentation des sentinelles
Sentinelle(sentinel) C'est un système distribué,Utilisé pour surveiller chaque serveur dans le tissu maître - esclave,En cas de défaillance, sélectionnez le nouveauasterEt toutslaveSe connecter à un nouveaumaster.
2.Le rôle de sentinelle
1.Surveillance
Inspection continuemasterEtslaveFonctionnement normal.
masterTests de survie、masterAvecslaveDétection des conditions de fonctionnement
2.Notification(Rappel)
Lorsqu'il y a un problème avec le serveur surveillé,Autres(Salle des sentinelles,Client)Envoyer un avis.
3.FAILOVER automatique
DéconnectermasterAvecslaveConnexion,Sélectionner unslaveEn tant quemaster,AutresslaveSe connecter à un nouveaumaster,Et informer le client de la nouvelle adresse du serveur
Attention!:
La sentinelle aussi.redisServeur,Mais pas de service de données
Habituellement, le nombre de sentinelles configurées est singulier( Généralement minimum de trois )
3.Configuration des sentinelles
Note::En généralrdbDocumentation、aofDocumentation、” Quelques informations sur le travail de la sentinelle “ Existe sous un répertoire , Même les différents ports sont stockés dans un répertoire ;
sentinel.confAvecredis-conf Les fichiers sont également stockés dans un répertoire , Même si les différents ports sentinel.confAvecredis-conf Les fichiers sont également enregistrés dans un répertoire
1.port 26379:
Le port par défaut de la sentinelle est 26379
2.dir “/var/lib/redis”:
Stocker des informations sur le travail de la sentinelle
3.sentinel monitor :
Jean sentinel Pour surveiller une adresse ip:port Serveur principal pour,Ici. master-name Peut être personnalisé; C'est un nombre,Ça veut dire quand il y a combien de sentinel Quand on pense que le serveur principal est en panne,C'est une vraie panne.,Habituellement, la moitié ou plus des hôtes sont considérés comme étant hors service, Doit être basé sur sentinel Paramètres de quantité pour.
4.sentinel monitor mymaster 127.0.0.1 6379 2:
Hôte surveillé ,mymaster Ce mot peut être modifié , Les noms peuvent être personnalisés
2Oui.2 Les sentinelles pensent que l'ordinateur central est accroché pour que l'ordinateur central soit accroché , C'est une norme. , Habituellement fixé à la moitié du nombre de sentinelles plus 1, C'est pourquoi notre nombre de sentinelles est habituellement fixé au singulier (Comme les paramètres3 Quand une sentinelle ,Oui.2 Les sentinelles pensent que l'ordinateur central est mort , Je pensais que l'ordinateur central était mort )(3 Configuration des sentinelles 2)(5 Configuration des sentinelles 3)(7 Configuration des sentinelles 4)
5.sentinel down-after-milliseconds :
Dans les millisecondes spécifiées,Si le noeud principal ne répond pas à la sentinelle PING Les ordres,À ce stade, la sentinelle pense que le serveur est subjectivement hors ligne,L'heure par défaut est 30 Secondes. AvecmymasterUne correspondance individuelle est nécessaire, Est l'unit é milliseconde
6.sentinel parallel-syncs :
Spécifiez combien vous pouvez avoir Redis Le Service synchronise les nouveaux hôtes, C'est - à - dire combien redis Commencer à synchroniser les données en même temps ,En général,Plus ce nombre est petit, plus le temps de synchronisation est long,Et plus grand,Plus la demande de ressources réseau est élevée.
7.# sentinel auth-pass mymaster MySUPER–secret-0123passw0rd:
sentinel auth-pass <Nom du serveur><Mot de passe>
Si le serveur principal a défini le mot de passe,La sentinelle doit également configurer le mot de passe,Sinon, la sentinelle ne peut pas surveiller le serveur maître - esclave.Ce mot de passe est le même que le mot de passe du serveur principal.
8.# sentinel failover-timeout :
Spécifiez le nombre de millisecondes autorisées pour FAILOVER,Si ce délai est dépassé,L'exécution du FAILOVER a échoué,Par défaut 3 Minutes.
4.Configuration des sentinelles
1)Configurer la structure maître - esclave d'un drag deux
2)Configurer trois sentinelles(Même configuration,Les ports sont différents)
3)Voirsentinel.conf
Note::La séquence de démarrage est, Démarrer l'hôte en premier , Redémarrer l'esclave redémarrer la sentinelle
L'ordre d'activer la sentinelle est le suivant :
redis-sentinel sentinel-Numéro de port.conf
5.Présentation(Configuration des sentinelles)
Créé3Sentinelles,Unmaster,2- Oui.slave.
“Sentinelle1”、“Sentinelle2“、”Sentinelle3“ La fenêtre est utilisée pour voir le journal ;
Vous pouvez voir qu'il y a un sentinel.confProfil
Copiersentinel.confProfil, Et le modifier comme suit: sentinel-26379.conf、sentinel-26380.conf、sentinel-26381.conf:
Voirredis-6379.conf、redis-6380.confProfil
Créationredis-6381.confProfil
Démarrage6379masterHôte、6380slaveEsclave、6381salveEsclave、:
Démarrage26379Sentinelle
Accès à la sentinelle 26379Vue par le clientkeyC'est - à - dire:getFonctionnement, Mais pas autorisé. setFonctionnement;
C'est bon.infoVoir les informations
Voir à nouveau26379Profil, J'ai trouvé beaucoup de nouvelles informations , C'est - à - dire qu'une fois la sentinelle activée, , Son profil est sur le point de changer
Démarrage26380Sentinelle:
Que voyez - vous de la dernière ligne idC'est26379SentinelleidC'est
Voir à nouveau26379Le Journal des sentinelles, J'en ai trouvé une autre. ,- Oui.26380Sentinelleid, Cela signifie que les sentinelles peuvent communiquer entre elles
Voir à nouveau26379Profil, Il y a eu un autre changement dans l'information
Démarrage26381Sentinelle
Voir à nouveau26379Profil, Il y a eu un autre changement dans l'information
ctrl+cArrête6379masterHôte
30Dans quelques secondes,26379 La sentinelle a commencé à imprimer beaucoup de journaux
Conduite du scrutin ,Jean6381Quand l'hôte,Jean6379、6380Quand l'esclave, C'est la commutation maître - esclave. ,Mais6379 Toujours déconnecté ,C'est tout.sdown 6379
6.Processus de commutation maître - esclave
Les sentinelles passent par trois étapes dans le processus de transfert maître - esclave
1.Surveillance:
Synchroniser les informations
2.Notification:
Rester connecté
3.FAILOVER:
1)Problèmes identifiés
2)Chef de campagne
3)De préférence nouveaumaster
4)NouveaumasterEntrée en fonction,AutresslaveBasculermaster,OriginalmasterEn tant queslaveConnexion après défaillance
7.Phase I phase de surveillance
Pour les sentinelles master Meilleure interaction de l'information ,Créer uncmdConnexion( équivalent à un canal )
masterIl en résultera aussi un“SentinelRedisInstance”Information,Avec""SentinelState“Presque identique
Deuxièmesentinel Après l'arrivée ,On verra.“SentinelRedisInstance”Information, De cette façon, les autres sentinelles seront connues
Le premiersentinel Il n'y a qu'un seul message de sentinelle ,Maissentinel Il y a des informations sur deux sentinelles , Pour assurer la synchronisation entre les sentinelles ,En place” Publier le canal d'abonnement “, De cette façon, l'information peut être symétrique les uns par rapport aux autres
Afin de garantir une symétrie à long terme entre la première et la deuxième sentinelle , Entre eux ping Ordre de maintenir
8.Phase II phase de notification
La première fois, peut - être. sentinel1EnvoyerhelloVoilà.masterAvecslave, Une fois la réponse reçue, elle sera transmise aux autres sentinelles , La deuxième fois, peut - être. sentinel2EnvoyerhelloVoilà.masterAvecslave, Une fois la réponse reçue, elle sera transmise aux autres sentinelles
9.Phase III phase de défaillance
1.Sélection des alternatives dans la liste des serveursmaster
1)Non en ligne
2)Réponse lente
3)OriginalmasterDéconnecté depuis longtemps
4)Principe de priorité
4.1)Priorité
4.2)offset
4.3)runid
2.Envoyer la commande( sentinel )
1)Au nouveaumasterEnvoyerslaveof no one
2)AutresslaveEnvoyerslaveof NouveaumasterIPPort
Unsentinel Étiquetage de l'hôte suspendu oui sdown,Plus de la moitiésentinel Étiqueter l'hôte hors ligne oui odown
边栏推荐
猜你喜欢
How to intercept the string correctly (for example, intercepting the stock in operation by applying the error information)
Multivariate cluster analysis
opencv+dlib实现给蒙娜丽莎“配”眼镜
Selenium+pytest automated test framework practice (Part 2)
[OC foundation framework] - string and date and time >
What is MySQL? What is the learning path of MySQL
数学建模2004B题(输电问题)
UML diagram memory skills
一改测试步骤代码就全写 为什么不试试用 Yaml实现数据驱动?
Ijcai2022 collection of papers (continuously updated)
随机推荐
LeetCode:162. Looking for peak
Once you change the test steps, write all the code. Why not try yaml to realize data-driven?
SAP ui5 date type sap ui. model. type. Analysis of the parsing format of date
Selenium+pytest automated test framework practice (Part 2)
Redis之五大基础数据结构深入、应用场景
[OC]-<UI入门>--常用控件-UIButton
[oc]- < getting started with UI> -- common controls - prompt dialog box and wait for the prompt (circle)
LeetCode:214. 最短回文串
Mise en œuvre de la quantification post - formation du bminf
LeetCode:498. 对角线遍历
Alibaba cloud server mining virus solution (practiced)
五层网络体系结构
Multivariate cluster analysis
CSP student queue
[OC]-<UI入门>--常用控件-提示对话框 And 等待提示器(圈)
LeetCode41——First Missing Positive——hashing in place & swap
Mongodb installation and basic operation
BN折叠及其量化
[OC-Foundation框架]---【集合数组】
Advanced Computer Network Review(3)——BBR