Redis集群为什么至少需要三个master节点,并且推荐节点数为奇数?
問(wèn)題一:Redis集群為什么至少需要三個(gè)master節(jié)點(diǎn)?
因?yàn)樾耺aster的選舉需要大于半數(shù)的集群master節(jié)點(diǎn)同意才能選舉成功,如果只有兩個(gè)master節(jié)點(diǎn),當(dāng)其中一個(gè)掛了,是達(dá)不到選舉新master的條件的。
?
?
問(wèn)題二:Redis集群為什么推薦節(jié)點(diǎn)數(shù)為奇數(shù)?
奇數(shù)個(gè)master節(jié)點(diǎn)可以在滿足選舉該條件的基礎(chǔ)上節(jié)省一個(gè)節(jié)點(diǎn),比如三個(gè)master節(jié)點(diǎn)和四個(gè)master節(jié)點(diǎn)的集群相比,大家如果都掛了一個(gè)master節(jié)點(diǎn)都能選舉新master節(jié)點(diǎn),如果都掛了兩個(gè)master節(jié)點(diǎn)都沒(méi)法選舉新master節(jié)點(diǎn)了,所以奇數(shù)的master節(jié)點(diǎn)更多的是從節(jié)省機(jī)器資源角度出發(fā)說(shuō)的。
例如:
在9個(gè)master的架構(gòu)中,如果4臺(tái)master故障,通過(guò)過(guò)半機(jī)制,redis可以選舉新的master。如果5臺(tái)master故障無(wú)法選舉新的master
在10個(gè)master的架構(gòu)中,如果4臺(tái)master故障,通過(guò)過(guò)半機(jī)制,redis可以選舉新的master。如果5臺(tái)master故障無(wú)法選舉新的master
在高可用方面,9臺(tái)master與10臺(tái)master一致。所以通常會(huì)使用奇數(shù)。假設(shè)現(xiàn)在reids內(nèi)存不足需要拓展,我們將master的數(shù)量加到11臺(tái),就高可用方面來(lái)說(shuō),就算其中5臺(tái)master發(fā)送故障,也可以自動(dòng)選舉新的master。
總結(jié)
以上是生活随笔為你收集整理的Redis集群为什么至少需要三个master节点,并且推荐节点数为奇数?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unity对于手柄的支持
- 下一篇: HTC View 手柄操作简介