聊聊Redis集群有哪些種類?
主從模式

主從架構(gòu)圖
主從模式就是一個(gè)redis實(shí)例作為主節(jié)點(diǎn),其他redis實(shí)例作為從節(jié)點(diǎn),從節(jié)點(diǎn)會(huì)將主節(jié)點(diǎn)的數(shù)據(jù)同步過來。利用這個(gè)模式可以做讀寫分離,主節(jié)點(diǎn)可讀可寫,從節(jié)點(diǎn)只讀,降低單節(jié)點(diǎn)情況的壓力。
優(yōu)點(diǎn)
- 主從同步可以實(shí)現(xiàn)備份數(shù)據(jù)的作用,降低數(shù)據(jù)丟失的風(fēng)險(xiǎn)
- 讀寫分離,提高查詢效率
- 某個(gè)節(jié)點(diǎn)掛掉時(shí),其他節(jié)點(diǎn)依然可以對外提供服務(wù)
缺點(diǎn)
- 每個(gè)節(jié)點(diǎn)都是全量數(shù)據(jù),內(nèi)存利用率低,浪費(fèi)資源
- 主節(jié)點(diǎn)掛掉時(shí),有可能導(dǎo)致主從數(shù)據(jù)不一致
- 主節(jié)點(diǎn)掛掉后,雖然從節(jié)點(diǎn)可繼續(xù)查詢,但是主節(jié)點(diǎn)不能提供寫入服務(wù)
- 主節(jié)點(diǎn)掛掉后需要人工介入
- 寫入壓力在一個(gè)節(jié)點(diǎn)
哨兵模式

哨兵模式架構(gòu)圖
哨兵模式是在主從模式的基礎(chǔ)上,增加了由一個(gè)或多個(gè)哨兵組成的哨兵集群來監(jiān)視主從模式的運(yùn)行狀態(tài),解決主節(jié)點(diǎn)掛掉時(shí)無法繼續(xù)對外提供寫入服務(wù)的問題。一般會(huì)用奇數(shù)個(gè)哨兵節(jié)點(diǎn),因?yàn)槊總€(gè)哨兵都會(huì)監(jiān)視集群中節(jié)點(diǎn)的狀態(tài),如果主節(jié)點(diǎn)掛掉了,哨兵會(huì)進(jìn)行投票,將某個(gè)從節(jié)點(diǎn)提升為主節(jié)點(diǎn)接續(xù)對外提供服務(wù),從而達(dá)到高可用。客戶端連接哨兵,哨兵對外提供redis服務(wù)地址的發(fā)現(xiàn)。
優(yōu)點(diǎn)
- 實(shí)現(xiàn)了高可用,部分節(jié)點(diǎn)掛掉依然能對外提供全部服務(wù)
- 出現(xiàn)問題,自動(dòng)切換,無需人工介入
缺點(diǎn)
- 依然存在內(nèi)存利用率不高,每個(gè)節(jié)點(diǎn)都是全量數(shù)據(jù)的問題
- 部署相對復(fù)雜,節(jié)點(diǎn)較多,不確定性增加
- 寫入壓力依然集中在一個(gè)節(jié)點(diǎn)
分片集群

分片集群架構(gòu)圖
有多個(gè)主從模式組成集群,當(dāng)主節(jié)點(diǎn)掛掉是,從節(jié)點(diǎn)會(huì)提升為主節(jié)點(diǎn),且數(shù)據(jù)是分片保存在不同的主從集群里,分片的規(guī)則是整個(gè)數(shù)據(jù)庫將會(huì)被分為16384個(gè)哈希槽,數(shù)據(jù)庫中的每個(gè)鍵都屬于這16384個(gè)槽中的其中一個(gè),集群中的每個(gè)節(jié)點(diǎn)可以處0個(gè)或者最多16384個(gè)槽。
優(yōu)點(diǎn)
- 寫入操作會(huì)被分配到不同的節(jié)點(diǎn),提高了寫入效率
- 數(shù)據(jù)是分片保存到了不同的主從節(jié)點(diǎn),內(nèi)存利用率較高,擴(kuò)展性好
- 高可用,除非其中一個(gè)主從集群的節(jié)點(diǎn)都掛掉,否則任何一個(gè)節(jié)點(diǎn)掛掉都能繼續(xù)對外提供服務(wù)
缺點(diǎn)
暫時(shí)沒想到



























