哨兵模式是redis官方推薦的集群部署方式,與主從復(fù)制方式不同,哨兵模式可以在Master宕機時,自動實現(xiàn)主備切換。哨兵本身也是一個獨立運行的進程,它用來監(jiān)控多個主從復(fù)制集群。? ? ? ? ? ? ? ? ? ? (推薦學(xué)習(xí):Redis視頻教程)
優(yōu)勢
不定時監(jiān)控Redis集群是否運行良好。
若Redis節(jié)點出現(xiàn)故障,可以及時同事其他進程,如客戶端。
能夠自動進程主備切換。
哨兵集群
很顯然,哨兵進程也存在單點部署的問題,即哨兵進程掛掉后,導(dǎo)致整個集群不可用,故哨兵進程也應(yīng)該支持集群部署。部署哨兵集群的優(yōu)勢有以下幾點:
即便某些哨兵進程掛掉,依然可以進行主備切換。
客戶端可以連接任意一個哨兵進程服務(wù),以獲取集群信息。
哨兵模式概述
哨兵模式是一種特殊的模式,首先Redis提供了哨兵的命令,哨兵是一個獨立的進程,作為進程,它會獨立運行。其原理是哨兵通過發(fā)送命令,等待Redis服務(wù)器響應(yīng),從而監(jiān)控運行的多個Redis實例。
這里的哨兵有兩個作用
通過發(fā)送命令,讓Redis服務(wù)器返回監(jiān)控其運行狀態(tài),包括主服務(wù)器和從服務(wù)器。
當(dāng)哨兵監(jiān)測到master宕機,會自動將slave切換成master,然后通過發(fā)布訂閱模式通知其他的從服務(wù)器,修改配置文件,讓它們切換主機。
然而一個哨兵進程對Redis服務(wù)器進行監(jiān)控,可能會出現(xiàn)問題,為此,我們可以使用多個哨兵進行監(jiān)控。各個哨兵之間還會進行監(jiān)控,這樣就形成了多哨兵模式。
更多Redis相關(guān)技術(shù)文章,請訪問Redis視頻教程欄目進行學(xué)習(xí)!