Maison  >  Article  >  base de données  >  Comment garantir la haute disponibilité de Redis

Comment garantir la haute disponibilité de Redis

(*-*)浩
(*-*)浩original
2019-11-20 14:49:503309parcourir

Comment garantir la haute disponibilité de Redis

haute disponibilité redis : si vous déployez une architecture maître-esclave, il vous suffit d'ajouter des sentinelles, et vous pouvez y parvenir sans qu'aucune instance ne soit vers le bas, la commutation active et veille sera effectuée automatiquement.

Mécanisme Sentinelle                                                                                                                                                                                                                                          Le serveur est surveillé et un mécanisme « sentinelle » est fourni après redis2.6. Comme son nom l'indique, la signification de sentinel est de surveiller l'état de fonctionnement du système Redis. Plusieurs sentinelles peuvent être démarrées pour surveiller l'état d'exécution de la base de données Redis. Ses fonctions principales comportent deux points :

a. Surveiller si toutes les bases de données de nœuds fonctionnent normalement.


b. Lorsque la base de données maître tombe en panne, un nouveau maître peut être automatiquement élu à partir du nœud esclave via le mécanisme de vote pour obtenir une commutation automatique de la base de données esclave à la base de données maître.


Dans un système Redis avec un maître et plusieurs esclaves, plusieurs sentinelles peuvent être utilisées pour effectuer des tâches de surveillance afin de garantir que le système est suffisamment robuste. À ce stade, non seulement la sentinelle surveillera la base de données principale et la base de données esclave en même temps, mais les sentinelles se surveilleront également mutuellement. Ici, il est recommandé de déployer au moins 3 sentinelles et d'utiliser un nombre impair de sentinelles.


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

Surveillance :
La sentinelle vérifiera en permanence si votre maître et votre esclave fonctionnent normalement.

Notification :Lorsqu'il y a un problème avec un Redis surveillé, la sentinelle peut envoyer des notifications à l'administrateur ou à d'autres applications via l'API.

Basculement automatique :Lorsqu'un maître ne fonctionne pas correctement, la sentinelle lancera une opération de basculement automatique et mettra à niveau l'un des esclaves du maître défaillant en tant que nouveau maître. et laissez les autres esclaves du maître défaillant changer pour copier le nouveau maître ; lorsque le client essaie de se connecter au maître défaillant, le cluster renverra également l'adresse du nouveau maître au client, afin que le cluster puisse utiliser le maître pour Remplacez le maître défaillant.

Sentinel est un système distribué. Vous pouvez exécuter plusieurs processus sentinelles dans une architecture. Ces processus utilisent des protocoles de potins pour recevoir des informations indiquant si le maître est hors ligne et utilisent des protocoles de vote (accord). protocoles) pour décider s'il faut effectuer un basculement automatique et quel esclave choisir comme nouveau maître.

Chaque sentinelle fera rapport aux autres sentinelles, le maître et l'esclave envoient régulièrement des messages pour confirmer si l'autre partie est "en vie" . Si l'autre partie ne répond pas dans le délai spécifié (configurable), l'autre partie est temporairement considérée comme étant en panne (ce que l'on appelle le « temps d'arrêt subjectif »).Si la plupart des sentinelles du « Groupe Sentinelle » signalent qu'un certain maître ne répond pas, le système considérera le maître comme « complètement mort » (c'est-à-dire : objectivement en panne, Objectif en panne, appelé odown) ), via un certain vote algorithme, sélectionnez l'un des nœuds esclaves restants à promouvoir au rang de maître, puis modifiez automatiquement la configuration appropriée.

Bien que sentinel soit publié sous la forme d'un fichier exécutable distinct redis -sentinel, mais en fait ce n'est qu'un Redis serveur fonctionnant dans un mode spécial Vous pouvez démarrer sentinel en donnant l'option --sentinel lors du démarrage d'un serveur Redis normal.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn