Heim  >  Artikel  >  Datenbank  >  Redis Sentinel-Prinzip, ich habe dich lange toleriert!

Redis Sentinel-Prinzip, ich habe dich lange toleriert!

咔咔
咔咔Original
2020-08-28 17:22:161781Durchsuche

Es gibt ein Sprichwort über die Rolle der Redis-Master-Slave-Replikation: „Die Master-Slave-Replikation ist der Grundstein für hohe Verfügbarkeit.“ Bereitstellung, die oft gehört wird. Basierend auf sechs 9ern sind Sentinels und Cluster unerlässlich, um eine hohe Verfügbarkeit zu erreichen . Ich werde einige Wissenspunkte hinzufügen, die später nicht hinzugefügt wurden. Ich freue mich auch darauf, Sie im Kommentarbereich zu sehen!

Redis Sentinel-Prinzip, ich habe dich lange toleriert!
Hier Bildbeschreibung einfügen

In diesem Artikel wird Sentinel hauptsächlich unter den folgenden Aspekten vorgestellt:

  • Einführung in Sentinel
  • Konfigurieren Sie
  • Sentinel-Jobprinzip Die Implementierungsumgebung dieses Artikels führt simulierte Vorgänge aus in einer virtuellen Maschine

1. Was ist ein Sentinel? Wenn wir die Master-Slave-Replikation konfigurieren, gibt es eine Situation, in der der Masterknoten ausfällt Dienste, wenn der Masterknoten ausfällt? In der Zeit, in der Daten König sind, gibt es keine Hochverfügbarkeit ohne Daten Der große Bruder sagte, dass ich dir bei diesem Problem helfen werde

Da der Master-Knoten-Master Sie als Chef nicht zum Spielen führen wird. Ich werde unter euch vieren einen Boss auswählen und dann werdet ihr mit ihm spielen.

Wenn der Chef, der nicht mit Ihnen spielt, zurückkommt, wird seine Identität ungültig und er wird nicht länger Ihr Chef sein. Er kann nur mit dem Boss spielen, den ich ausgewählt habe.

Der obige Dialogprozess ist genau das, was es für uns bedeutet, Wächter zu konfigurieren. Wer auch immer wir spielen, wird wem Daten geben. Sobald wir die Rolle von Wächtern verstanden haben, werden wir fortfahren.

„Lassen Sie uns abschließend erklären, was ein Sentinel in professioneller Hinsicht ist.“

Sentinel, der englische Name ist Sentinel, ist ein verteiltes System, das zur Steuerung jedes Servers in der Master-Slave-Struktur verwendet wirdMonitoring, wenn der Master-Knoten ausfällt, wird der Abstimmungsmechanismus verwendet Wählen Sie einen neuen Master-Knoten aus und verbinden Sie alle Slave-Knoten mit dem neuen Master-Knoten. 监控,当主节点出现故障后通过投票机制来挑选新的主节点,并且将所有的从节点连接到新的主节点上。

二、哨兵的作用

上文中我们谈到的对话过程就是哨兵的作用之一自动故障转移。

谈到作用肯定就是这个哨兵到底在工作中到底干了什么事情。我们先用比较干巴的概念描述一下,然后在下文的工作原理会一一谈到。

哨兵的三个作用监控、通知、自动转移故障

2. Die Rolle des Wächters

Der Konversationsprozess, über den wir oben gesprochen haben, ist eine der Funktionen von Sentinel, das automatische Failover. 🎜🎜Wenn es um die Funktion geht, muss es genau das sein, was dieser Wächter bei der Arbeit tut. Beschreiben wir es zunächst in einem relativ trockenen Konzept und sprechen wir dann im Folgenden nacheinander über die Arbeitsprinzipien. 🎜🎜Drei Funktionen von Sentry🎜<ul data-tool="mdnice编辑器" style="margin-top: 8px; margin-bottom: 8px; padding-left: 25px; font-size: 15px; color: #595959; list-style-type: circle;"> <li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;">Überwachung<ul style="margin-top: 8px; margin-bottom: 8px; padding-left: 25px; font-size: 15px; list-style-type: square;"> <li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;">Wen soll überwacht werden? Um die Master-Slave-Struktur zu unterstützen, ist einer der Master-Knoten und der andere der Slave-Knoten, daher muss er diese beiden überwachen. </section></li> <li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;">Überwachen Sie, ob der Master-Knoten und die Slave-Knoten normal laufen Wenn ein Problem mit dem Server von Sentinel erkannt wird, werden Benachrichtigungen an andere Sentinels gesendet. Die von jedem Sentinel entdeckten Probleme werden in dieser Gruppe veröffentlicht. </section></li> <li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;"></section></li> </ul>Automatisches Failover</section></li> <li>Wenn erkannt wird, dass der Master-Knoten ausgefallen ist, trennen Sie alle mit dem ausgefallenen Master-Knoten verbundenen Slave-Knoten, wählen Sie einen der Slave-Knoten als Master-Knoten aus und ersetzen Sie dann den anderen Slave-Knoten. Der Knoten ist mit diesem neuesten Master-Knoten verbunden. Und informieren Sie den Client über die neueste Serveradresse. <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;"><ul style="margin-top: 8px; margin-bottom: 8px; padding-left: 25px; font-size: 15px; list-style-type: square;"><li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;"></section></li></ul>Hier ist zu beachten, dass Sentinel auch ein Redis-Server ist, der jedoch keine Dienste für die Außenwelt bereitstellt. </section> </li>Konfigurieren Sie den Sentinel als ungerade Zahl. Warum also die Anzahl der Sentinel-Server auf eine ungerade Zahl konfigurieren? Mit dieser Frage finden Sie unten die gewünschte Antwort. <li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;"><ul style="margin-top: 8px; margin-bottom: 8px; padding-left: 25px; font-size: 15px; list-style-type: square;"><li><section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; font-size: 14px;"> 2. So konfigurieren Sie den Sentinel </section></li></ul></section></li> </ul> <p data-tool="mdnice编辑器" style="padding-top: 8px; padding-bottom: 8px; line-height: 26px; margin-top: 10px; margin-bottom: 10px; font-size: 14px; word-spacing: 2px;"></p> 1. Vorbereitung <p data-tool="mdnice编辑器" style="padding-top: 8px; padding-bottom: 8px; line-height: 26px; margin-top: 10px; margin-bottom: 10px; font-size: 14px; word-spacing: 2px;"></p> <h1 data-tool="mdnice编辑器" style="margin-top: 30px; margin-bottom: 15px; padding: 0px; color: black; font-size: 25px;"> <span class="prefix" style="color: rgb(64, 184, 250); display: none;"></span>In diesem Kapitel beginnen wir mit der Konfiguration des Sentinel und bereiten uns auf die Vorarbeiten vor. Das Bild unten zeigt Kakas Vorbereitungen. Starten Sie 8 Clients, drei Sentinels, einen Master-Knoten, zwei Slave-Knoten, einen Master-Knoten-Client und einen Slave-Knoten-Client. <span class="content" style="display: inline-block; color: rgb(64, 184, 250);"></span><h2 data-tool="mdnice编辑器" style="margin-top: 30px; margin-bottom: 15px; padding: 0px; color: black; font-size: 22px; border-bottom: 4px solid rgb(64, 184, 250);"> <span class="prefix" style="display: flex; width: 20px; height: 20px; background-size: 20px 20px; background-image: url(https://my-wechat.mdnice.com/fullstack-1.png); margin-bottom: -22px;"></span><span class="content" style="display: flex; color: #40B8FA; font-size: 20px; margin-left: 25px;">2. Interpretation der Sentinel.conf-Konfiguration</span><span class="suffix" style="display: flex; box-sizing: border-box; width: 200px; height: 10px; border-top-left-radius: 20px; background: RGBA(64, 184, 250, .5); color: rgb(255, 255, 255); font-size: 16px; letter-spacing: 0.544px; justify-content: flex-end; float: right; margin-top: -10px; box-sizing: border-box !important; overflow-wrap: break-word !important;"></span> </h2> </h1> <p data-tool="mdnice编辑器" style="padding-top: 8px; padding-bottom: 8px; line-height: 26px; margin-top: 10px; margin-bottom: 10px; font-size: 14px; word-spacing: 2px;">Die von Sentinel verwendete Konfigurationsdatei ist<code style="overflow-wrap: break-word; margin: 0px 2px; font-family: " operator mono consolas monaco menlo monospace word-break: break-all color: rgb background: rgba padding: border-radius: height: line-height:>sentinel.confRedis Sentinel-Prinzip, ich habe dich lange toleriert!我们来对sentinel.conf配置信息进行解读Redis Sentinel-Prinzip, ich habe dich lange toleriert!但是大多数都是注释,这里咔咔给大家提供一个命令来过滤这些无用信息 cat sentinel.conf | grep -v '#' | grep -v '^$'Redis Sentinel-Prinzip, ich habe dich lange toleriert!

  • Port 26379: Externe Service-Portnummer
  • dir /tmp: Speicherung von Sentinel-Arbeitsinformationen
  • Sentinel Monitor Mymaster 127.0.0.1 6379 2: Wer überwacht wird, der Name kann angepasst werden, die 2 dahinter Es stellt dar: Wenn es zwei Sentinels gibt, die feststellen, dass der Master-Knoten ausgefallen ist, wird der Master-Knoten normalerweise auf die Hälfte der Sentinels plus eins eingestellt.
  • Sentinel down-after-milliseconds mymaster 30000: Wie lange dauert es, bis der Sentinel eine Verbindung zum Masterknoten herstellt, ohne zu antworten, was bedeutet, dass er ausgefallen ist? Die folgenden 30000 sind Millisekunden, also 30 Sekunden.
  • sentinel parallel-syncs mymaster 1: Dieses Konfigurationselement bezieht sich auf die maximale Anzahl von Slave-Knoten, die sich während eines Failovers mit dem neuen Master-Knoten synchronisieren können. Je kleiner der Wert, desto länger dauert es, bis der Failover abgeschlossen ist. Je größer der Wert, desto mehr Slave-Knoten sind aufgrund der Datensynchronisierung nicht verfügbar.
  • sentinel failover-timeout mymaster 180000: Die Dauer des Synchronisierungsvorgangs wird als effektiv angesehen. Der Systemstandardwert beträgt 3 Minuten.

3. Konfiguration starten

Befehl cat sentinel.conf | grep -v '#' | grep -v '^$' > ./data/sentinel-26379.conf把sentinel.conf过滤后的信息移到/usr/local/redis/confRedis Sentinel-Prinzip, ich habe dich lange toleriert!然后打开sentinel-26379.conf修改信息存放目录Redis Sentinel-Prinzip, ich habe dich lange toleriert!然后快速的复制俩个哨兵配置文件,端口为26380和26381。sed 's/26379/26381/g' sentinel-26379.conf > sentinel-26381.conf

verwenden
Redis Sentinel-Prinzip, ich habe dich lange toleriert!
Hier Bildbeschreibung einfügen

Testen Sie, ob die Master-Slave-Replikation normal funktioniert, starten Sie drei Redis-Server und die Ports sind 6379, 6380, 6381Wenn man sich die Informationen zum Master-Knoten ansieht, sind zwei Slave-Knoten verbunden und die Ports sind 6380 bzw. 6381. 6379、6380、6381Redis Sentinel-Prinzip, ich habe dich lange toleriert!查看主节点信息,是有俩台从节点在连接着,端口分别为6380、6381。

这里有一个小小的点就是lag怎么一个是1一个是0呢!lag是延迟时间,我这里是本地测试所以会出现0的情况,使用云服务器是很少出现的。lag的值为0和1都属于正常。Redis Sentinel-Prinzip, ich habe dich lange toleriert!测试主节点添加一个hash值,hset kaka name kakaRedis Sentinel-Prinzip, ich habe dich lange toleriert!Ein kleiner Punkt hier ist, dass einer der Lags 1 und der andere 0 ist! Verzögerung ist die Verzögerungszeit, die ich lokal teste, daher liegt die Situation bei 0. Dies passiert selten, wenn ein Cloud-Server verwendet wird. Die Verzögerungswerte sind 0 und 1, was normal ist. Bildbeschreibung hier einfügenTesten Sie den Hauptknoten, um einen Hash-Wert hinzuzufügen, 连接26379哨兵,主要是最后一行,监控的主节点名为mymaster,状态正常,从节点有俩个,哨兵数量为1个Redis Sentinel-Prinzip, ich habe dich lange toleriert!在来查看一下26379的哨兵配置信息,这个时候已经改动了Redis Sentinel-Prinzip, ich habe dich lange toleriert!在启动一个26380的哨兵,redis-sentinel 26380-sentinel.conf,这里注意一下最后一行多了一条信息,这个id就是我们26379Die neu hinzugefügte ID in der KonfigurationsdateiRedis Sentinel-Prinzip, ich habe dich lange toleriert!Dann kommen wir zum Client von Sentinel 26379, der auch die neu hinzugefügte ID von 26380 Sentinel istRedis Sentinel-Prinzip, ich habe dich lange toleriert!Zu diesem Zeitpunkt überprüfen wir die Konfigurationsdatei von 26379 Sentinel, Überprüfen Sie die Konfiguration zum ersten Mal. In der Datei ist 26380 Sentinel nicht konfiguriert. Beim zweiten Anzeigen wurden die Informationen hinzugefügt, nachdem 26380 Sentinel konfiguriert wurde. Redis Sentinel-Prinzip, ich habe dich lange toleriert!Zuletzt müssen wir Sentinel-Client 3 starten, die Portnummer ist 26381. Nach dem Start werden auch unsere Konfigurationsinformationen und Serverinformationen geändert. Wenn wir die Informationen von Sentinel 26380 hinzufügen, verfügt auch Sentinel 26381 über diese.

Bis zu diesem Punkt ist unsere Konfiguration von Sentinel abgeschlossen. Redis Sentinel-Prinzip, ich habe dich lange toleriert!Nachdem wir 30 Sekunden gewartet haben, werden wir hier zum Client von 26379 kommen All diese Informationen wurden gemacht. Lassen Sie es uns aufschlüsseln.

Redis Sentinel-Prinzip, ich habe dich lange toleriert!Hier müssen wir zunächst ein paar Dinge wissen

  • +sdown: Diese Informationen beziehen sich auf einen der drei Sentinels, der denkt, dass der Masterknoten ausgefallen ist
  • +odown: Diese Informationen beziehen sich auf die anderen beiden Sentinels Ich habe eine Verbindung zum Masterknoten hergestellt und festgestellt, dass der Masterknoten tatsächlich ausgefallen ist. Dann hat Kaka eine Abstimmungsrunde gestartet. Diese Informationen unterscheiden sich geringfügig zwischen den Versionen. Master Mymaster 127.0.0.1 6379 127.0.0.1 6380: Bis hierher ist das Ergebnis der vom Sentinel initiierten Abstimmung, und das Redis mit Port 6380 wird als Master-Knoten gewählt
  • +Slave-Slave 127.0.0.1:6381 127.0. 0.1 6381 @ mymaster 127.0 .0.1 6380: Hier stellen wir eine Verbindung zwischen den Ports 6381 und 6379 und dem neuen Master-Knoten 6380 her 380: Der letzte Der Satz besagt, dass der Port 6379 immer noch nicht online war und daher offline geschaltet wurde. Ein Satz ist, 6379 offline zu entfernen. Der letzte Satz besteht darin, 6379 wieder mit dem neuen Masterknoten zu verbinden.
  • Zu diesem Zeitpunkt ist der Masterknoten 6380. Stellen Sie im Redis-Client den Wert 6380 ein, um zu überprüfen, ob die Master-Slave-Replikation ordnungsgemäß funktioniert.
  • Fügen Sie den Listentyp zum neuen Masterknoten 6380 hinzu.
    Erhalten Sie diesen Wert bei 6379 und 6381, fertig! Unsere Konfiguration des Wachmodus ist abgeschlossen.
  • 3. Arbeitsprinzip von Sentinel

Redis Sentinel-Prinzip, ich habe dich lange toleriert!Nach der Konfiguration von Sentinel müssen Sie dessen Arbeitsprinzip analysieren. Nur wenn Sie den Arbeitsablauf kennen, können Sie Sentinel besser verstehen. Redis Sentinel-Prinzip, ich habe dich lange toleriert!

Die in diesem Artikel erklärten Prinzipien sind nicht so trocken! Ermöglicht Ihnen, einen technischen Artikel als Geschichte zu lesen.

Um es auf den Punkt zu bringen: Die Rolle des Wachpostens besteht in der Überwachung, Benachrichtigung und dem Failover. Dann dreht sich auch das Arbeitsprinzip um diese drei Punkte.

1. Überwachungsworkflow Der Meister Der Knoten zeichnet die Informationen der Redis-Instanz auf. Die vom Masterknoten aufgezeichneten Informationen ähneln tatsächlich den vom Sentinel aufgezeichneten Informationen.

Sentinel sendet außerdem Informationsbefehle an die entsprechenden Slave-Knoten basierend auf den vom Masterknoten erhaltenen Slave-Knoteninformationen.

Dann kommt Sentinel 2 und ändert auch den Masterknoten, um Informationsbefehle zu senden und cmd zu erstellen Verbinden
Redis Sentinel-Prinzip, ich habe dich lange toleriert!
Zu diesem Zeitpunkt speichert Sentinel 2 auch die gleichen Informationen wie Sentinel 1, es werden jedoch nur 2 Sentinel-Informationen gespeichert.
    Zu diesem Zeitpunkt wird eine Veröffentlichungs- und Abonnementverbindung zwischen ihnen hergestellt, sodass die Informationen jedes Sentinels konsistent sind. Um eine langfristige Informationssymmetrie zwischen den Sentinels sicherzustellen, senden sie sich auch gegenseitig Ping-Befehle.
  1. Wenn ein weiterer Sentinel 3 kommt, wird er dasselbe tun und Informationen an den Master-Knoten und den Slave-Knoten senden. Und stellen Sie Verbindungen mit Sentinel 1 und Sentinel 2 her.
  2. 2. Benachrichtigungsworkflow
  3. Sentinel sendet Befehle an alle Knoten des Masters und Slaves, um deren Status zu ermitteln, und veröffentlicht die Informationen im Sentinel-Abonnement.
  4. 3. Failover-Prinzip (der Schwerpunkt dieses Artikels) sdown. Dieses Wort kommt Ihnen vielleicht etwas bekannt vor. Das ist richtig, es handelt sich um die Informationen, die vom Sentinel-Server gemeldet wurden, nachdem wir den Masterknoten oben getrennt haben. Nachdem Sentinel den Ausfall des Masterknotens gemeldet hat, veröffentlicht Sentinel auch eine Nachricht im Intranet, um anzuzeigen, dass der Masterknoten ausgefallen ist. Der gesendete Befehl lautet
  5. Hat der Masterknoten aufgelegt, nachdem die verbleibenden Wachposten die Anweisung erhalten hatten? Lassen Sie mich gehen und sehen, ob es hängt oder nicht. Die gesendete Nachricht ist auch Hallo. Die übrigen Wächter senden ebenfalls die empfangene Nachricht und senden den Befehl -break: break-all; background: rgba(59, 170, 250, 0.1); 2px; border-radius: 2px; height: 21px; line-height: 22px;">sentinel is-master-down-by-address-port

Gehen Sie zu Ihrem eigenen Intranet und bestätigen Sie den ersten gesendetensentinel is-master-down-by-address-port sagte, Sie haben Recht, dieser Typ ist tatsächlich am Boden. Wenn jeder denkt, dass der Masterknoten ausgefallen ist, wird sein Status in <code style="overflow-wrap: break-word; margin: 0px 2px; font-family: " operator mono consolas monaco menlo monospace ge wortumbruch: alle brechen hintergrund: rgba randradius: h>odown. Wenn ein Sentinel davon ausgeht, dass der Master-Knoten markiert ist, ist er „Break-All“; Farbe: RGB(53, 148, 247); ; height: 21px; line-height: 22px; Schriftfamilie: „Operator Mono“, Consolas, Monaco, Monospace; Farbe: rgb(53, 148, 247); : 0px 2px; Rahmenradius: 21px;">odown. Aus diesem Grund wird der Sentinel mit einer ungeraden Zahl konfiguriert.

  • Für einen Sentinel, der denkt, dass der Hauptknoten ausgefallen ist, wird dies als subjektiv offline bezeichnet, und die Hälfte der Sentinels glaubt, dass der Hauptknoten ausgefallen ist, was als offizieller Gast offline bezeichnet wird.
  • Sobald der Gastoffizier des Masterknotens als offline betrachtet wird, fährt der Sentinel mit dem nächsten Schritt fort
  • Zu diesem Zeitpunkt hat der Sentinel das Problem erkannt, sodass Sentinel für die Wahl eines neuen verantwortlich ist Was den Hauptknoten betrifft, kann Li Si auch gehen. Das wird also Chaos verursachen.

    Dieses Mal! Die fünf Wächter werden ein gemeinsames Treffen abhalten. Alle Wächter werden dann in einem Intranet ihre eigenen Befehle senden und ihre eigenen Wahlzeiten und Runid übertragen. sentinel is-master-down-by-address-portJeder Sentinel ist sowohl Kandidat als auch Wähler. Jeder Sentinel hat eine Stimme und der Umschlag repräsentiert seine Stimmrechte. Redis Sentinel-Prinzip, ich habe dich lange toleriert!Wenn sentinel1 und sentinel4 gleichzeitig Anweisungen an die Gruppe senden, um sich auf die Wahl vorzubereiten, sagt sentinel2 zu diesem Zeitpunkt, dass ich für denjenigen stimmen werde, der die Anweisung zuerst erhält. Wenn Sentinel1 vorzeitig freigegeben wird, wird die Stimme von Sentinel2 für Sentinel1 abgegeben. Redis Sentinel-Prinzip, ich habe dich lange toleriert!Die Abstimmung wird gemäß diesen Regeln eingeleitet, bis die Stimmen eines Wächters die Hälfte der Gesamtzahl der Wächter ausmachen. Gehen Sie davon aus, dass Sentinel1 gewählt wird, nachdem die Anzahl der Sentinel1-Stimmen mehr als die Hälfte der Gesamtzahl der Sentinels erreicht hat. Zu diesem Zeitpunkt ist die nächste Stufe erreicht. Redis Sentinel-Prinzip, ich habe dich lange toleriert! Sentinel hat oben Sentinel1 als Vertreter ausgewählt, um zu allen Slave-Knoten zu gehen und einen als Master-Knoten zu finden. Es gibt bestimmte Regeln für die Auswahl eines Masterknotens, nicht nur für die zufällige Auswahl. Redis Sentinel-Prinzip, ich habe dich lange toleriert!

    Werden Sie zuerst diejenigen los, die nicht online sind

    Redis Sentinel-Prinzip, ich habe dich lange toleriert!Diejenigen mit langsamer Reaktion werden getötet. Diejenigen mit langsamer Reaktion werden getötet reicht nicht, es wird ein neuer Slave5 hinzugefügt. Es macht keinen Sinn! Redis Sentinel-Prinzip, ich habe dich lange toleriert!Nach den oben genannten drei Punkten gibt es immer noch Salbe4 und Sklave5, und sie werden nach dem Prioritätsprinzip überprüft. Redis Sentinel-Prinzip, ich habe dich lange toleriert!

    • Wenn die Priorität gleich ist, werden andere Beurteilungen vorgenommen
    • , um den Offset-Offset und die Datensynchronisation zu beurteilen 100, dann wird der Wächter denken, dass mit dem Netzwerk von Slave4 etwas nicht stimmt! Anschließend wird Slave5 als neuer Masterknoten ausgewählt. Was ist, wenn die Offsets von Slave4 und Slave5 gleich sind? Es gibt noch ein letztes Urteil
    • Der letzte Schritt besteht darin, den Runid zu beurteilen, d wird zuerst gereiht.

    Nach der Auswahl eines neuen Masterknotens müssen Anweisungen an alle Knoten gesendet werden. Redis Sentinel-Prinzip, ich habe dich lange toleriert!Redis Sentinel-Prinzip, ich habe dich lange toleriert!

    4. Zusammenfassung

    Das sind alle Wissenspunkte über Sentinels. Das Wichtigste in diesem Artikel ist das Funktionsprinzip von Sentinels. Sehen wir uns kurz das Funktionsprinzip an.

    • Erster Monitor, und alle Sentinels synchronisieren Informationen

    • Die Sentinels veröffentlichen Informationen zum Abonnement

    • Failover

      • Sentinel hat festgestellt, dass der Masterknoten offline war.
      • Sentinel hat begonnen, für die verantwortliche Person zu stimmen.
      • Die verantwortliche Person wird einen neuen Masterknoten wählen , und andere Slave-Knoten sind verbunden. Der neue Master-Knoten wird als Slave-Knoten verbunden, nachdem der ursprüngliche Master-Knoten online ist.
      Das Obige ist Kakas Verständnis von Sentinels. Wenn Fehler gemacht werden können, wird Kaka diese rechtzeitig korrigieren.

    Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, an denen Kaka seit seiner Karriere festhält. Ich hoffe, dass Kakas Artikel im riesigen Internet Ihnen ein wenig helfen können Sie in der nächsten Ausgabe.

    Empfohlen: „Redis Tutorial

    Das obige ist der detaillierte Inhalt vonRedis Sentinel-Prinzip, ich habe dich lange toleriert!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn