實際場景分析:為了解決主從模式的無法自動容錯及恢復的問題,Redis引入了一種哨兵模式的集群架構。哨兵模式是在主從復制的基礎上加入了哨兵節點。哨兵節點是一種特殊的Redis節點,用于監控主節點和從節點的狀態。當主節點發生故障時,哨兵節點可以自動進行故障轉移,選擇一個合適的從節點升級為主節點,并通知其他從節點和應用程序進行更新。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
在原來的主從架構中,引入哨兵節點,其作用是監控Redis主節點和從節點的狀態。每個Redis實例都可以作為哨兵節點,通常需要部署多個哨兵節點,以確保故障轉移的可靠性。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
好啦,話不多說,接下來就讓我們一起實操吧!2P628資訊網——每日最新資訊28at.com
看重點
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
看到最后:免費領取詳細的Word文檔?2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
01哨兵模式原理
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
哨兵節點定期向所有主節點和從節點發送PING命令,如果在指定的時間內未收到PONG響應,哨兵節點會將該節點標記為主觀下線。如果一個主節點被多數哨兵節點標記為主觀下線,那么它將被標記為客觀下線。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
當主節點被標記為客觀下線時,哨兵節點會觸發故障轉移過程?!彼鼤乃薪】档膹墓濣c中選舉一個新的主節點,并將所有從節點切換到新的主節點,實現自動故障轉移。同時,哨兵節點會更新所有客戶端的配置,指向新的主節點。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
哨兵節點通過發布訂閱功能來通知客戶端有關主節點狀態變化的消息。客戶端收到消息后,會更新配置,將新的主節點信息應用于連接池,從而使客戶端可以繼續與新的主節點進行交互。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
這個集群模式的優點就是為整個集群系統了一種故障轉移和恢復的能力。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
02搭建Redis哨兵模式步驟
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2.1 安裝Redis主從模式(一主二仆)
2P628資訊網——每日最新資訊28at.com
Redis主從模式具體步驟請參考詳文《不要只會玩兒Redis單機版,如果是讀多寫少的情況,請選擇Redis主從模式吧》2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
PS:如果都是一臺服務器測試哨兵模式,請將slave-6380.conf和slave-6381.conf中slaveof 127.0.01 63792P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2.2 配置Redis哨兵模式(sentinel)具體步驟如下
2P628資訊網——每日最新資訊28at.com
2.2.1 啟動好一主二仆模式,6379帶著6380、6381
2P628資訊網——每日最新資訊28at.com
查看詳細信息:info replication2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2.2.2 自定義的config目錄下新建sentinel.conf文件
2P628資訊網——每日最新資訊28at.com
新建sentinel文件命令:touch sentinel.conf2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
配置哨兵,填寫內容:vi sentinel.conf2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
sentinel monitor mymaster 127.0.0.1 6379 12P628資訊網——每日最新資訊28at.com
#其中mymaster為監控對象起的服務器名稱,1為至少有多少個哨兵同意遷移的數量2P628資訊網——每日最新資訊28at.com
sentinel down-after-milliseconds mymaster 30000 2P628資訊網——每日最新資訊28at.com
#判定服務器down掉的時間周期,默認30000毫秒(30秒)2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2.2.3 啟動哨兵
2P628資訊網——每日最新資訊28at.com
退回上級目錄:cd ../2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
執行命令:./redis-sentinel config/sentinel.conf2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
2.2.4 當主機掛掉,從機選舉中產生新的主機
2P628資訊網——每日最新資訊28at.com
(大概10秒左右可以看到哨兵窗口日志,切換了新的主機)2P628資訊網——每日最新資訊28at.com
哪個從機會被選舉為主機呢?根據優先級別:slave-priority 2P628資訊網——每日最新資訊28at.com
原主機重啟后會變為從機。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
圖片2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
PS:如果都是一臺服務器測試哨兵模式,發現6379宕機后并沒有實現選舉從機過程,請務必將6380和6381的slaveof后的IP地址修改為127.0.0.1,將sentinel.conf中sentinel monitor mymaster 127.0.0.1 6379 1的IP地址也統一設置為127.0.0.12P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
03哨兵模式應用總結
2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
哨兵模式的優勢主要在于當主節點發生故障時,哨兵節點可以自動進行故障轉移與自動恢復,選擇一個合適的從節點升級為主節點,并通知其他從節點和應用程序進行更新。2P628資訊網——每日最新資訊28at.com
2P628資訊網——每日最新資訊28at.com
但是哨兵模式最大的缺點,就是不適用于大規模應用的解決方案,它無法提供了更好的橫向擴展和容錯能力。2P628資訊網——每日最新資訊28at.com
本文鏈接:http://www.www897cc.com/showinfo-26-35878-0.htmlRedis哨兵模式,一主二仆反客為主,論故障轉移和恢復能力還得是它呀
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 如何有效使用Java并發Atomic包的原子類型
下一篇: Pyquery:一個靈活方便的 HTML 解析庫