面試寶典系列-讀《深刻學習Redis(4):哨兵》概要

原來連接:深刻學習Redis(4):哨兵html

哨兵的功能:redis

  • 監控(Monitoring):哨兵會不斷地檢查主節點和從節點是否運做正常。
  • 自動故障轉移(Automatic failover):當主節點不能正常工做時,哨兵會開始自動故障轉移操做,它會將失效主節點的其中一個從節點升級爲新的主節點,並讓其餘從節點改成複製新的主節點。
  • 配置提供者(Configuration provider):客戶端在初始化時,經過鏈接哨兵來得到當前Redis服務的主節點地址。
  • 通知(Notification):哨兵能夠將故障轉移的結果發送給客戶端。

典型的哨兵架構圖以下所示:架構

它由兩部分組成,哨兵節點和數據節點:ide

  • 哨兵節點:哨兵系統由一個或多個哨兵節點組成,哨兵節點是特殊的redis節點,不存儲數據。
  • 數據節點:主節點和從節點都是數據節點。

部署:

哨兵系統:包含1個主節點、2個從節點和3個哨兵節點學習

主從節點配置:spa

主節點:
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"

從節點1:
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
slaveof 192.168.92.128 6379

從節點2:
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
slaveof 192.168.92.128 6379

啓動主從節點命令相同:code

redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf

哨兵節點配置:server

port 26379
daemonize yes
logfile "26379.log"
sentinel monitor mymaster 192.168.92.128 6379 2

其中,sentinel monitor mymaster 192.168.92.128 6379 2 配置的含義是:該哨兵節點監控192.168.92.128:6379這個主節點,該主節點的名稱是mymaster,最後的2的含義與主節點的故障斷定有關:至少須要2個哨兵節點贊成,才能斷定主節點故障並進行故障轉移。htm

啓動哨兵節點兩種方式:blog

redis-sentinel sentinel-26379.conf
redis-server sentinel-26379.conf --sentinel

哨兵系統的搭建過程,有幾點須要注意:

  • 哨兵系統中的主從節點,與普通的主從節點並無什麼區別,故障發現和轉移是由哨兵來控制和完成的。
  • 哨兵節點本質上是redis節點。
  • 每一個哨兵節點,只須要配置監控主節點,即可以自動發現其餘的哨兵節點和從節點。
  • 在哨兵節點啓動和故障轉移階段,各個節點的配置文件會被重寫(config rewrite)。
  • 一個哨兵能夠監控多個主節點,經過配置多條sentinel monitor便可實現。

相關文章
相關標籤/搜索