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