Ausführliche Erläuterung von Redis Sentinel, dem Sentinel-Konstruktionsprozess, dem Sentinel-Betriebsprozess und dem Wahlprinzip (subjektives Offline, objektives Offline, wie man den Sentinel-Anführer wählt).
Der Whistleblower prüft und überwacht, ob der Hintergrund-Master-Host fehlerhaft ist, und konvertiert basierend auf der Anzahl der Stimmen automatisch eine Slave-Datenbank in eine neue Master-Datenbank, um externe Dienste fortzusetzen. [Verwandte Empfehlungen: Redis-Video-Tutorial]
Allgemein bekannt als unbeaufsichtigter Betrieb und Wartung.
Schritte
Kopieren Sie sentinel.conf im Redis-Installationspfad in das Myredis-Verzeichnis
Stellen Sie den zu überwachenden Master-Server ein
1 |
|
Installieren Sie drei Linux-IPs und -Ports sentinel01
sentinel26380.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
sentinel26381 .conf
1 |
|
Test
Starten Sie basierend auf der vorherigen Redis-Replikation 1 Master und 2 Slaves, um zu testen, ob die Master-Slave-Replikation normal ist, und geben Sie die Informationsreplikation ein, um zu überprüfen, ob sie normal ist
1 |
|
Ausfallzeit des Masters simulieren
Master-Host
1 2 3 4 5 6 |
|
Vergleichen Sie die Konfigurationsdatei
sentinel6379.conf-Datei
alter Meister
新master
当一个主从配置中的master失效后,sentinel可以选举出一个新的master用于自动替换原master的工作,主从配置中的其他redis服务自动指向新的master同步数据,一般建议sentinel采取奇数台,防止某一台sentinel无法连接到master导致误切换。
SDOWN(主观不可用)是单个哨兵自己主观检测到的关于master的状态,从sentinel的角度来看,如果发送了PING心跳后,在一定时间内没有收到合法的回复,就到达了SDOQN的条件。
sentinel配置文件中的 down-after-milliseconds 设置了主观下线的时间长度(默认30秒)。
1 2 |
|
ODOWN需要一定数量的sentinel,多个哨兵达成一致意见才能确认一个master客观上已经宕机了。
1 2 |
|
当主节点被判断客观下线后,各个哨兵节点会进行协商,先选举出一个领导者哨兵节点,并由该领导者哨兵节点进行failover(故障迁移)
Raft算法
监视该主节点的所有哨兵都有可能被选为领导者,选举使用的算法是Raft算法;Raft算法的基本思路是先到先得,即在一轮选举中,哨兵A向B发送成为领导者的申请,如果B没有同意过其他哨兵,则会同意A成为领导者。
整个过程由sentinel自己独立完成,无需人工干涉。
某一个slave被选中成为master
选出新的master的规则,剩余slave节点健康的前提下
执行 slaveof no one 命令让选出来的从节点成为新的主节点,并通过 slaveof 命令让其他节点成为其从节点。
sentinel leader 会对选举出来的新 master 执行 slaveof no one,将其提升为master节点
sentinel leader 向其他slave发送命令,让剩余的slave成为新的master节点的slave。
更多编程相关知识,请访问:编程视频!!
Das obige ist der detaillierte Inhalt vonVerstehen Sie den Sentinel in Redis im Detail. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!