簡體   English   中英

MongoDB復制故障轉移

[英]MongoDB Replication failover

我想使用mongod復制來實現多個站點之間的冗余。

我正在考慮部署以下內容:部署5個Mongod實例(必須為奇數,否則需要仲裁員),站點A上有3個,站點B上有2個。

如果站點B發生故障,那么很好,我們仍然在站點A上運行3個。但是,如果站點A發生故障,那么我們將僅運行2個Mongods。 這個可以嗎? 哪一個將成為主人? 在我手動啟動第三個游戲之前,他們可以自己進行管理嗎?

第二個問題,在站點重新連接后mongo將如何處理?

僅當超過50%的節點可用時,mongo副本集才可用。

在您的情況下,如果站點A失敗,則您的副本集將脫機

一種可能的選擇是在A中運行2個副本節點,在B中運行2個副本節點。然后在外部位置運行仲裁程序或延遲的副本。

延遲的副本將為您的數據提供進一步的備份,但是我將確保您將其優先級設置為0,這將確保盡管它是有表決權的成員,但它不會被提升為主數據庫。

擁有第三個站點可能不可行,但這是最安全的方法。

確保您確保站點A->站點C,站點B->站點C之間的通信安全,顯然會帶來麻煩。

如果您確實僅限於2個站點,那么確保副本集保持運行狀況的唯一真實方法是監視運行狀況良好的節點數量並具有一些自動伸縮功能,以確保您始終有足夠的節點可以投票一個主要的。 但是,我認為在此解決方案中,當啟動新服務器並將其添加到副本集時,您仍然會遇到一些停機時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM