Mode Sentinelle
Il s'agit d'une solution à haute disponibilité elle-même est un processus exécuté de manière indépendante et peut être déployée. Cluster Redis sur d'autres machines pouvant communiquer avec le cluster Redis.
Surveillance : Sentinel surveillera régulièrement si Redis fonctionne bien. (Apprentissage recommandé : Tutoriel vidéo Redis)
Rappel : Si la sentinelle détecte une situation sur un nœud redis, elle peut notifier un autre processus (comme son client)
Basculement automatique : après la panne du maître, un basculement maître/sauvegarde sera effectué. 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. Si le maître récupère, il deviendra esclave.
Redis Sentinel est un système distribué qui utilise le protocole gossip pour savoir si le maître est hors ligne, et utilise le protocole de vote pour décider s'il faut effectuer une migration par erreur (il sera exécuté lorsque le nombre de votes dépasse le valeur configurée, et il sera exécuté lorsque le nombre de votes dépasse la valeur configurée. Il doit être approuvé par plus de la moitié des sentinelles avant de pouvoir être exécuté), et quel esclave est sélectionné comme maître.
Subjectif hors ligne : lorsqu'un processus sentinelle surveille que le maître ne peut pas se connecter, il pense alors que le maître est hors ligne.
Objectif hors ligne : lorsque vous recevez des informations principales provenant d'autres processus sentinelles, déterminez si elles sont réellement hors ligne.
Chaque sentinelle envoie des requêtes ping au maître, à l'esclave et aux autres sentinelles chaque seconde.
Mode cluster
Étant donné que Sentinel ne prend pas en charge l'expansion fluide et l'ajout de nœuds, vous devez migrer manuellement les données. À cette fin, Reids fournit officiellement Redis Cluster pour mettre en œuvre des solutions distribuées. Les clusters distribués résolvent d'abord le problème du mappage de l'ensemble de données sur plusieurs nœuds selon des règles de partitionnement, c'est-à-dire en divisant l'ensemble de données en plusieurs nœuds, et chaque nœud est responsable d'un sous-ensemble de l'ensemble des données.
Je pense que c'est la même chose qu'un hachage cohérent. Maintenant que le hachage de la clé est calculé et que les fragments sont obtenus, l'inconvénient du mode cluster est que les opérations par lots sur les clés ne peuvent pas être effectuées. Parce que cette clé peut se trouver sur différentes instances Redis.
La détection des pannes de cluster est également notifiée à chaque nœud Redis via Gossip, et deux nœuds se font des ping-pong.
La suppression et l'ajout de nœuds nécessitent une migration des données.
Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Introduction au didacticiel d'utilisation de la base de données Redis pour apprendre !
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!