2015-04-30 123 views
0

我知道mongodb具有主從架構。mongodb單點故障

因此,我認爲主控將是mongoDB中的單點故障,因爲它負責處理所有請求並將其發送到從節點。但是,當主設備出現故障時,則會從從設備重新選擇一個新的主設備。因此,我需要澄清單點故障所在。

mongoDB有單點故障嗎?它在主節點中嗎?

謝謝,

+0

請在https://dba.stackexchange.com上提問有關管理MongoDB的問題。我提名你的移民問題。 – Philipp

+0

不再有'主'這樣的事物,當一個主要人物落下一個新的副主席接管爲主要副本時,有一個主副本和許多副主副本。所以沒有一個單一的失敗點。在這裏閱讀更多:http://docs.mongodb.org/manual/replication/ – nickmilon

+0

@nickmilon不完全正確。看看這裏http://docs.mongodb.org/manual/core/master-slave/ –

回答

2

MongoDB中可以以一種方式,有故障的單點(至少沒有特定的MongoDB)進行設置。

當您按照建議(包括第三臺服務器上的主服務器,輔助服務器和仲裁服務器)設置複製時,備用服務器在出現故障時將扮演主服務器的角色。請記住,這隻適用於應用程序同時知道主要和次要(如何使其知道取決於驅動程序)。

當您擁有分片羣集時,mongo路由器進程(mongos)和配置服務器成爲其他可能的故障點,但您也可以設置配量路由器和配置服務器。當客戶端發生故障時,要將客戶端發送給其他mongos服務器,您需要第三方負載平衡解決方案。

對於a proper production MongoDB setup with clustering,MongoDB的公司建議:

  • 至少2 mongos路由器
  • 究竟3個配置服務器
  • 每碎片
  • 3服務器(伯,仲和仲裁器),其中所述仲裁器不一定需要專用服務器,並且可以與路由器,配置服務器,不同副本集或應用服務器的成員共享硬件。