zookeeper的设计猜想-防止单点故障
基于Zookeeper本身的一個(gè)設(shè)計(jì)目標(biāo),zookeeper主要是解決分布式環(huán)境下的服務(wù)協(xié)調(diào)問(wèn)題而產(chǎn)生的,我們來(lái)猜想一下,如果我們要去設(shè)計(jì)一個(gè)zookeeper,需要滿足那些功能呢?
首先,在分布式架構(gòu)中,任何的節(jié)點(diǎn)都不能以單點(diǎn)的方式存在,因此我們需要解決單點(diǎn)的問(wèn)題。常見(jiàn)的解決單點(diǎn)問(wèn)題的方式就是集群
大家來(lái)思考一下,這個(gè)集群需要滿足那些功能??
1. 集群中要有主節(jié)點(diǎn)和從節(jié)點(diǎn)(也就是集群要有角色)?
2. 集群要能做到數(shù)據(jù)同步,當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),從節(jié)點(diǎn)能夠頂替主節(jié)點(diǎn)繼續(xù)工作,但是繼續(xù)工作的前提是數(shù)據(jù)必須要主節(jié)點(diǎn)保持一致
3. 主節(jié)點(diǎn)掛了以后,從節(jié)點(diǎn)如何接替成為主節(jié)點(diǎn)??是人工干預(yù)?還是自動(dòng)選舉
所以基于這幾個(gè)點(diǎn),我們先來(lái)把zookeeper的集群節(jié)點(diǎn)畫(huà)出來(lái)。
?
總結(jié)
以上是生活随笔為你收集整理的zookeeper的设计猜想-防止单点故障的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分布式锁服务
- 下一篇: zookeeper的设计猜想-Leade