聊聊Redis中的哨兵模式(Sentine)
Nov 29, 2021 pm 07:18 PM這篇文章帶大家了解Redis中的哨兵模式(Sentine),介紹一下Sentinel工作機制、Sentinel模式怎麼搭建,希望對大家有幫助!
Redis Sentinel哨兵模式是一個分散式系統, 你可以在一個架構中運行多個Sentinel 進程(progress), 這些進程使用流言協定(gossip protocols)來接收關於主伺服器是否下線的信息, 並使用投票協議(agreement protocols)來決定是否執行自動故障遷移, 以及選擇哪一個從伺服器作為新的主伺服器。 【相關推薦:Redis 影片教學】
Redis 的Sentinel 系統用於管理多個Redis 伺服器(instance),系統執行以下三個任務:
- #監控(Monitoring): Sentinel 會不斷檢查你的主伺服器和從伺服器是否運作正常。
- 提醒(Notification): 當被監控的某個 Redis 伺服器出現問題時, Sentinel 可以透過 API 向管理員或其他應用程式發送通知。
- 自動故障遷移(Automatic failover): 當一個主伺服器無法正常運作時, Sentinel 會開始一次自動故障遷移操作, 它會將失效主伺服器的其中一個從伺服器升級為新的主伺服器, 並讓失效主伺服器的其他從伺服器改為複製新的主伺服器; 當客戶端試圖連接失效的主伺服器時, 叢集也會向客戶端傳回新主伺服器的位址, 使得叢集可以使用新主伺服器代替失效伺服器。
Sentinel工作機制
每個sentinel以每秒鐘一次的頻率向它所知的master,slave以及其他sentinel實例發送一個PING 命令
如果一個實例距離最後一次有效回覆PING 指令的時間超過down-after-milliseconds 選項所指定的值, 則這個實例會被sentinel標記為主觀下線。
如果一個master被標記為主觀下線,則正在監視這個master的所有sentinel要以每秒一次的頻率確認master的確進入了主觀下線狀態
當有足夠數量的sentinel(大於等於設定檔指定的值)在指定的時間範圍內確認master的確進入了主觀下線狀態, 則master會被標記為客觀下線
在一般情況下, 每個sentinel會以每10 秒一次的頻率向它已知的所有master,slave發送INFO 命令
當master被sentinel標記為客觀下線時,sentinel向下線的master的所有slave發送INFO 指令的頻率會從10 秒一次改為1 秒一次
若沒有足夠數量的sentinel同意master已經下線,master的客觀下線狀態就會移除; 若master重新向sentinel的PING 指令返回有效回复,master的主觀下線狀態就會被移除
#Sentinel模式搭建
#環境
master:127.0.0.1:6379 【初始化master】 slave:127.0.0.1:6380 127.0.0.1:6381 sentinel:127.0.0.1:26379 127.0.0.1:26380 127.0.0.1:26381
- 修改設定:
這裡省略安裝了redis,直接修改sentinel設定檔。對應資料夾Redis6379-Redis6381
# 监控节点,且超过2个sentinel 任务故障,方可执行故障转移 sentinel monitor mymaster 127.0.0.1 6379 2 # 如果节点在 30000毫秒内未回应,就认为故障 sentinel down-after-milliseconds mymaster 30000 # 如果故障转移后,同时进行主从复制数为 1 sentinel parallel-syncs mymaster 1 # 故障转移的超时时间 sentinel failover-timeout mymaster 180000 sentinel deny-scripts-reconfig yes
啟動指令
./src/redis-sentinel ./config/redis-sentinel-6379.conf(同样启动6380 6381)
更多程式相關知識,請造訪:程式設計入門! !
以上是聊聊Redis中的哨兵模式(Sentine)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Windows11安裝10.0.22000.100跳出0x80242008錯誤解決方法
