2016-11-16 37 views
0

我已閱讀關於部署MongoDB的Google Cloud Platform的article。使用分片方案,很明顯,應用程序將永遠不會從二級MongoDB的服務器閱讀:MongoDB:分片方案中的次要用途有哪些?

因爲生產應用程序不會從二級服務器讀取數據時,應用程序就不需要處理複雜陳舊的讀取和最終的一致性。

我的問題是:

  1. 都是次要的服務器只可用於容錯的,即如在主服務器發生故障的情況下備份?或者在同一個碎片區域內有次要資源會有性能好處?

  2. 如果是這樣,考慮到以下幾點:

Compute Engine的磁盤具有內置的冗餘來保護數據免遭失敗,並通過維護事件,以確保數據的可用性

爲什麼在Google Cloud等容錯平臺上需要輔助服務器?

謝謝!

回答

1

要回答兩個問題:

副本的其他好處設置

副本設置也能讓你perform rolling updates to MongoDB所以對於支持更新有用。

也可以允許某些應用程序(例如報告應用程序)從輔助節點讀取,從而減少主節點上的一些負載。一些細節和用例都可以在MongoDB的網站 - https://docs.mongodb.com/v3.2/core/read-preference/

要求輔助服務器

的谷歌的文章中指出:

除非出現災難性停電,MongoDB的主服務器應該 始終在此區域

通過在副本集中有多個成員,您正在保護你自己從這種災難性的中斷。如果您需要非常高的可用性,那麼您需要這種級別的保護。

MongoDB自己的數據庫即服務(Atlas)將副本集成員部署到不同的亞馬遜網絡服務可用性區域以防止這種災難性的停機。

相關問題