今天就跟大家聊聊有關(guān)MongoDBReplicaSets配置有哪些方法以及配置過程有哪些問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍華企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),龍華網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
我們知道,MongoDB不提供單機的數(shù)據(jù)安全性,取而代之的是提供了ReplicaSets的高可用方案。官方文檔中提到的案例是三個節(jié)點組成的ReplicaSets,這樣在其中任何一個節(jié)點宕機后都會自動選舉出新的Primary提供寫操作。下面創(chuàng)新互聯(lián)小編來講解下MongoDBReplicaSets配置有哪些方法?MongoDBReplicaSets配置有哪些問題?
MongoDBReplicaSets配置有哪些方法
配置方法
兩個節(jié)點的ReplicaSets,啟動后一個選舉成為Primary,一個成為Secondary。
MongoDBReplicaSets配置有哪些問題
問題
這時候如果Secondary宕機,那么Primary會怎么樣呢?Primary會立刻變成Secondary!這時候集群里沒有Primary了!為什么會出現(xiàn)這樣的情況呢。
原因
這是和MongoDB的Primary選舉策略有關(guān)的,試想如果情況不是Secondary宕機,而是網(wǎng)絡(luò)斷開,那么兩個節(jié)點都會選取自己為Primary,因為他們能連接上的只有自己這一個節(jié)點。而這樣的情況在網(wǎng)絡(luò)恢復(fù)后就需要處理復(fù)雜的一致性問題。而且斷開的時間越長,時間越復(fù)雜。所以MongoDB選擇的策略是如果集群中只有自己一個節(jié)點,那么不選取自己為Primary。
解決方法
所以正確的做法應(yīng)該是添加兩個以上的節(jié)點,或者添加arbiter,當然最好也最方便的做法是添加arbiter,aribiter節(jié)點只參與選舉,幾乎不會有壓力,所以你可以在各種閑置機器上啟動arbiter節(jié)點,這不僅會避免上面說到的無法選舉Primary的情況,更會讓選取更快速的進行。(因為如果是三臺數(shù)據(jù)節(jié)點,一個節(jié)點宕機,另外兩個節(jié)點很可能會各自選舉自己為Primary,從而導(dǎo)致很長時間才能得出選舉結(jié)果)。
看完上述內(nèi)容,你們對MongoDBReplicaSets配置有哪些方法以及配置過程有哪些問題有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。