Maison >base de données >Redis >Redis explique la réplication maître-esclave et le mode sentinelle

Redis explique la réplication maître-esclave et le mode sentinelle

coldplay.xixi
coldplay.xixiavant
2021-01-26 09:45:332160parcourir

Redis explique la réplication maître-esclave et le mode sentinelle

Recommandé (gratuit) : redis

Répertoire d'articles

  • Réplication maître-esclave
    • Commande
    • Configuration
  • Principe de réplication
    • Copie complète
    • Copie incrémentale
    • Test
  • Maître-esclave imbriqué
  • Mode Sentinelle
    • Configurer Sentinel
    • Test

Réplication maître-esclave


La réplication maître-esclave fait référence à la copie de données d'un serveur Redis vers d'autres serveurs Redis. Le premier est appelé le nœud maître Maître, et le second est appelé le nœud esclave Esclave. Il ne peut être copié qu'un seul. -du maître aux autres serveurs Redis Slave, généralement Master effectue principalement des opérations d'écriture, et Slave effectue principalement des opérations de lecture, réalisant ainsi la séparation de la lecture et de l'écriture.

Fonction

  1. Redondance des données : la réplication maître-esclave réalise une sauvegarde à chaud des données, qui est une sorte de redondance des données en plus de la persistance.
  2. Récupération après panne : lorsqu'un problème survient sur le nœud maître, le nœud esclave peut fournir des services pour réaliser une récupération rapide après panne ; il s'agit en fait d'une sorte de redondance de service.
  3. Équilibrage de charge : basé sur la réplication maître-esclave, combinée à une séparation lecture-écriture, le nœud maître peut fournir des services d'écriture et les nœuds esclaves peuvent fournir des services de lecture (c'est-à-dire que lors de l'écriture de données Redis, l'application se connecte au nœud maître et lit les données Redis. Lorsque l'application se connecte au nœud esclave), la charge du serveur est partagée, en particulier dans les scénarios où il y a moins d'écriture et plus de lecture, le partage de la charge de lecture via plusieurs nœuds esclaves peut considérablement augmenter la concurrence ; le serveur Redis.
  4. Pierre angulaire de la haute disponibilité : en plus des fonctions ci-dessus, la réplication maître-esclave est également la base de la mise en œuvre des sentinelles et des clusters. Par conséquent, la réplication maître-esclave est la base de la haute disponibilité de Redis.

Commande

Commande Fonction th>
命令 作用
slaveof host port 将当前服务器转变为指定服务器的从属服务器。如果已是slave则停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。SLAVEOF NO ONE将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。
info [section] INFO命令以一种易于理解和阅读的格式,返回关于Redis服务器的各种信息和统计数值。通过给定可选的参数section,可以让命令只返回某一部分的信息:
esclavedu port hôte
Transforme le serveur actuel en serveur esclave du serveur spécifié. S'il s'agit déjà d'un esclave, il arrête la synchronisation de l'ancien serveur maître, supprime l'ancien ensemble de données et commence la synchronisation du nouveau serveur maître. SLAVEOF NO ONE entraînera la désactivation de la fonction de réplication du serveur esclave et la transition du serveur esclave vers le serveur maître. L'ensemble de données synchronisées d'origine ne sera pas supprimé.
info [section] La commande INFO renvoie diverses informations sur le serveur Redis de manière simple. -comprendre et lire le format des informations et des valeurs statistiques. En donnant des paramètres optionnelssection permet à la commande de renvoyer uniquement une certaine partie des informations :

Configuration

Prenons comme exemple une seule machine avec plusieurs services (normalement plusieurs machines avec plusieurs services, mais je n'ai qu'un seul serveur)

Tout d'abord , chaque client Redis La valeur par défaut est l'hôte , qui peut être consulté via la commande info replication.
Redis explique la réplication maître-esclave et le mode sentinelle

Nous devons donc maintenant ouvrir trois clients en même temps pour simuler un maître et deux esclaves, nous devons donc modifier la configuration :

  1. Modifier le numéro de port
  2. Modifier le nom du pid
  3. Modifier le nom du journal
  4. Modifier le nom de la rdb
  5. Définir la connexion hôte (facultatif, utiliser la ligne de commande)

Copiez d'abord deux fichiers de configuration en tant que configuration esclave, et le maître peut utiliser la configuration par défaut.
Redis explique la réplication maître-esclave et le mode sentinelle
Prenez redis80.conf comme exemple pour modifier les cinq points de configuration ci-dessus dans l'ordre, 81 ne modifie que les quatre premiers points.
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Puis démarrez-les (79, 80, 81)
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Définir maître et esclave :

  1. 80 est défini dans le fichier de configuration (permanent), visualisez-le directement :
    Redis explique la réplication maître-esclave et le mode sentinelle
  2. 81 Il n'y a pas de configuration, vous pouvez définir manuellement la ligne de commande
    Redis explique la réplication maître-esclave et le mode sentinelle

Vue 79 (maître) à ce moment :
Redis explique la réplication maître-esclave et le mode sentinelle

Principe de copie


Copie complète

Chaque fois que l'esclave se connecte au maître, il copiera entièrement, copiant toutes les données du maître à l'esclave.

Copie incrémentielle

Une fois l'esclave connecté au maître, seule cette partie des données mises à jour par le maître sera mise à jour de manière synchrone vers l'esclave.

Test

  1. L'esclave est en lecture seule par défaut et copiera progressivement les données du maître de synchronisation :
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
  2. Temps d'arrêt de l'hôte :
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    3. Temps d'arrêt de la machine esclave :
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle
    Redis explique la réplication maître-esclave et le mode sentinelle

intégré Définir maître et esclave


Comme le montre la figure 79, c'est l'hôte de 80, et 80 est l'hôte de 81. Il s'agit d'une relation maître-esclave imbriquée.
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle

Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle

Mode Sentinelle


Les 80 maîtres-esclaves supérieurs et imbriqués ci-dessus sont tous saisis manuellement par nous sur la ligne de commande Le but est d'éviter les opérations d'écriture après le. l'hôte est en panne pendant la période de fenêtre , ceux-ci nécessitent une intervention manuelle.
Sentinel s'exécutera indépendamment en tant que processus indépendant. Le principe est que Sentinel surveille plusieurs serveurs Redis en cours d'exécution en envoyant des commandes et en attendant que le serveur Redis réponde.
Si Sentinel détecte que l'hôte est hors ligne, il sélectionnera une machine esclave à "monter" (migration automatique des défauts) pour devenir le nouvel hôte. Si l'hôte d'origine est mis en ligne, l'hôte d'origine deviendra l'esclave du nouvel hôte. Le principe est de notifier les autres serveurs via le modèle de publication et d'abonnement, de modifier le fichier de configuration et ainsi de changer d'hôte.
Redis explique la réplication maître-esclave et le mode sentinelle
Et si Sentinel tombe en panne ? Plusieurs sentinelles peuvent être utilisées pour se surveiller mutuellement.
Redis explique la réplication maître-esclave et le mode sentinelle
Les photos sont tirées de https://www.jianshu.com/p/06ab9daf921d, violation et suppression

  • Sujet hors ligne (Subjectively Down, SDOWN en abrégé) fait référence au jugement hors ligne effectué par une seule instance sentinelle sur le serveur.
  • Objective Down (Objectively Down, appelé ODOWN) fait référence à plusieurs instances sentinelles effectuant des jugements subjectifs hors ligne sur le même serveur, et via SENTINEL is-master-down- Après le by- Les commandes addr communiquent entre elles, le serveur est jugé hors ligne.

Lorsque l'hôte se déconnecte objectivement, Sentinel votera pour un nouvel hôte (L'algorithme spécifique est omis), effectuera un basculement automatique (failover) et informera les autres serveurs de changer via l'hôte de publication et d'abonnement.

Configurer Sentinel

Tout d'abord, il y a une configuration sentinelle annotée détaillée dans le répertoire d'installation :
Redis explique la réplication maître-esclave et le mode sentinelle
Créez un nouveau sentinel.conf pour moniteur 6379, le reste peut être défini par défaut :
Redis explique la réplication maître-esclave et le mode sentinelle
Démarrer Sentinel :
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle

Test

Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Redis explique la réplication maître-esclave et le mode sentinelle
Mode multi-sentry, configurez les fichiers de configuration pour différents ports pour ouvrir plusieurs clients Sentinel, puis suivez le même modèle (paresseux )

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