![](/img/trans.png)
[英]will mongodb replica set arbiter on a different continent slow down the cluster?
[英]MongoDB sharding, arbiter and cluster setup
有人可以幫助驗證我們的設置
設置4個節點的MongoDB集群1個主節點(寫入),3個輔助節點(讀取)(如果主節點出現故障),3個輔助節點可以打破束縛並選擇一個輔助節點替換為主節點
一旦從一開始就以這種方式進行設置,那么隨着負載的增加,我要做的就是繼續將成對的節點添加到群集中。 (成對添加節點將有助於我們保持性能並減少集群更改的頻率,而且讀取量要大於寫入量,在某些時候,我們還必須考慮擴大寫入量)
非常感謝您的幫助。
謝謝。
是的,需要一個仲裁器,否則,如果2個節點出現故障或不可用,則您將沒有主節點-MongoDB需要嚴格的多數票(> 50%)選出主節點,而在您的情況下,多數票是四分之三(四分之二不大於50%)。 如果添加仲裁器,該數字仍將為3,但是您將能夠擁有一個主節點,其中主節點的數據承載節點數減少2個。
至於原因,請考慮以下可能性:
2個節點與其他2個節點是隔離的-它們仍處於運行狀態,可以運行,但無法相互通信。 現在,“平分”的每一方都有2票,而且沒有打破平局的方式-每一方在對初選的投票方面都同樣有效,沒有嚴格的多數票制,您最終將獲得2票,沒有辦法拆分自行解決后解決寫操作。 在拆分的任何一側添加一個仲裁器,您就不會有這種歧義。
當投票數為偶數時,這種類型的場景會有許多排列,我將不在這里討論。 可以說,運行副本集時的最佳實踐是始終使票數為奇數,從而避免出現這些情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.