Maison  >  Article  >  base de données  >  Parlons du mode Sentinel (Sentine) dans Redis

Parlons du mode Sentinel (Sentine) dans Redis

青灯夜游
青灯夜游avant
2021-11-29 19:18:332272parcourir

Cet article vous amènera à comprendre le mode Sentinel (Sentine) dans Redis, à présenter le mécanisme de fonctionnement de Sentinel et à créer le mode Sentinel. J'espère qu'il vous sera utile !

Parlons du mode Sentinel (Sentine) dans Redis

Le mode Redis Sentinel est un système distribué. Vous pouvez exécuter plusieurs processus Sentinel (progression) dans une seule architecture. Ces processus utilisent des protocoles de potins pour recevoir des informations indiquant si le serveur principal est hors ligne et utilisent des protocoles de vote (protocoles d'accord). pour décider s'il faut effectuer un basculement automatique et quel serveur esclave sélectionner comme nouveau serveur maître. [Recommandations associées : Tutoriel vidéo Redis]

Le système Sentinel de Redis est utilisé pour gérer plusieurs serveurs (instances) Redis. Le système effectue les trois tâches suivantes :

  • Surveillance (Surveillance) : Sentinel vous vérifiera en permanence. Si le serveur maître et le serveur esclave fonctionnent normalement.
  • Notification : en cas de problème avec un serveur Redis surveillé, Sentinel peut envoyer des notifications à l'administrateur ou à d'autres applications via l'API.
  • Basculement automatique : lorsqu'un serveur maître ne peut pas fonctionner correctement, Sentinel lancera une opération de basculement automatique. Il mettra à niveau l'un des serveurs esclaves du serveur maître défaillant vers le nouveau serveur maître et laissera les autres serveurs esclaves de l'échec. Le serveur maître est modifié pour répliquer le nouveau serveur maître ; lorsque le client tente de se connecter au serveur maître défaillant, le cluster renvoie également l'adresse du nouveau serveur maître au client, afin que le cluster puisse utiliser le nouveau serveur maître pour remplacer le serveur défaillant.

Mécanisme de fonctionnement de la sentinelle

  • Chaque sentinelle envoie une commande PING aux instances maître, esclave et autres sentinelles qu'elle connaît une fois par seconde

  • Si une instance est loin de la dernière réponse valide à la commande PING Si le le temps dépasse la valeur spécifiée par l'option down-after-milliseconds, l'instance sera marquée comme subjective hors ligne par sentinel.

  • Si un maître est marqué comme subjectif hors ligne, toutes les sentinelles qui surveillent ce maître doivent confirmer une fois par seconde que le maître est bien entré dans l'état subjectif hors ligne

  • Lorsqu'il y a un nombre suffisant de sentinelles (supérieur à égale à la valeur spécifiée dans le fichier de configuration) et confirmez que le maître est effectivement entré dans l'état subjectif hors ligne dans la plage de temps spécifiée, le maître sera marqué comme objectivement hors ligne

  • Dans des circonstances normales, chaque sentinelle sera connectée une fois toutes les 10 secondes La fréquence d'envoi des commandes INFO à tous les maîtres et esclaves qu'elle connaît

  • Lorsque le maître est marqué comme objectivement hors ligne par sentinelle, la fréquence à laquelle la sentinelle envoie des commandes INFO à tous les esclaves du maître hors ligne passera de une fois toutes les 10 secondes à Une fois toutes les 1 seconde

  • S'il n'y a pas assez de sentinelles pour convenir que le maître est hors ligne, le statut objectif hors ligne du maître sera supprimé ; Si le maître renvoie à nouveau une réponse valide à la commande PING de sentinel, le statut subjectif hors ligne du maître sera supprimé

Construction en mode Sentinelle

Environnement

master:127.0.0.1:6379 【初始化master】

slave:127.0.0.1:6380  127.0.0.1:6381

sentinel:127.0.0.1:26379  127.0.0.1:26380  127.0.0.1:26381
  • Modifier la configuration :

L'installation de redis est omise ici, Modifier directement le fichier de configuration sentinelle. Dossier correspondant Redis6379-Redis6381

# 监控节点,且超过2个sentinel 任务故障,方可执行故障转移
sentinel monitor mymaster 127.0.0.1 6379 2
# 如果节点在 30000毫秒内未回应,就认为故障
sentinel down-after-milliseconds mymaster 30000
# 如果故障转移后,同时进行主从复制数为 1
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

Commande de démarrage

./src/redis-sentinel ./config/redis-sentinel-6379.conf(同样启动6380 6381)

Pour plus de connaissances sur la programmation, veuillez visiter : Introduction à la 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!

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