redis集群與哨兵的優(yōu)缺點(diǎn) redis有了集群還需要主從哨兵嗎?
redis有了集群還需要主從哨兵嗎?即使使用哨兵,redis每個(gè)實(shí)例也是全量存儲(chǔ),每個(gè)redis存儲(chǔ)的內(nèi)容都是完整的數(shù)據(jù),浪費(fèi)內(nèi)存且有木桶效應(yīng)。為了最大化利用內(nèi)存,可以采用集群,就是分布式存儲(chǔ)。即每臺(tái)
redis有了集群還需要主從哨兵嗎?
即使使用哨兵,redis每個(gè)實(shí)例也是全量存儲(chǔ),每個(gè)redis存儲(chǔ)的內(nèi)容都是完整的數(shù)據(jù),浪費(fèi)內(nèi)存且有木桶效應(yīng)。為了最大化利用內(nèi)存,可以采用集群,就是分布式存儲(chǔ)。即每臺(tái)redis存儲(chǔ)不同的內(nèi)容, 共有16384個(gè)slot。每個(gè)redis分得一些slot,hash_slot = crc16(key) mod 16384 找到對(duì)應(yīng)slot,鍵是可用鍵,如果有{}則取{}內(nèi)的作為可用鍵,否則整個(gè)鍵是可用鍵 集群至少需要3主3從,且每個(gè)實(shí)例使用不同的配置文件,主從不用配置,集群會(huì)自己選。 所以還是需要的,因?yàn)閞edis的集群是把內(nèi)容存儲(chǔ)到各個(gè)節(jié)點(diǎn)上,而哨兵的作用就是監(jiān)控redis主、從數(shù)據(jù)庫(kù)是否正常運(yùn)行,主出現(xiàn)故障自動(dòng)將從數(shù)據(jù)庫(kù)轉(zhuǎn)換為主數(shù)據(jù)庫(kù)。
redis高可用實(shí)現(xiàn)原理?
redis的高可用主要有主從模式、哨兵模式、集群模式,具體這幾種模式的實(shí)現(xiàn)原理和演進(jìn)思路可以參考:
【Redis高可用架構(gòu)演進(jìn) - 今日頭條】https://m.toutiao.com/is/eejkhKG/