2014-02-18 93 views
1

我們正在努力尋找解決方案,我們可以在我們的網站上託管數千萬個不同大小的圖像。我們正在評估Riak和MongoDB。目前Riak看起來很不錯,但集羣中的所有服務器應該是同類的,因爲Riak平等對待每個節點。在異構集羣上運行MongoDB

除了事實上,你可以在節點上設置優先級,這很難找到有關MongoDB的信息。我的問題是:

  1. 什麼是創建具有廣泛不同的規格(CPU,磁盤空間,磁盤速度,數量和內存速度,網絡速度)的機器組成的集羣的MongoDB的後果是什麼?

  2. MongoDB集羣可以自動檢測並補償這些差異嗎?

我也開放了其他解決方案的想法,其中異構集羣將很好地工作。

+0

我第一次聽說Riak把所有的服務器視爲完全相同,因爲硬件越來越便宜,你很可能會及時獲得更好的機器,所以IMO不是一個好習慣。 – DarthVader

回答

2

什麼是創建具有不同似地規格(CPU,磁盤空間,磁盤速度,數量和存儲器速度,網絡速度)的機器的構成的簇的MongoDB的結果?

MongoDB中的每個分片都是它自己的mongod,它本身就是一個獨立的MongoDB。

它不受別人的表現束縛,所以說你有一個需要更多電源的碎片,你可以升級它的硬件,完成工作。 MongoDB喜歡這樣的環境並積極地推廣它們。

MongoDB集羣可以自動檢測並補償這些差異嗎?

它並不需要檢測,但它會自動補償,自然離不開內mongosconfigsrv

任何工作其實你會發現,你甚至可以運行不同的MongoDB的版本。

+0

我的意思是:當一個節點A表現不佳(大量流量)時,其他節點(B和C)會通過在集羣中佔用更多流量來幫助A?你是這個意思嗎? – manum

+0

@manum沒有那個活動依賴於你的分片鍵,它們不是複製品,而是分片,它們擁有一個獨特的數據範圍。我認爲你的問題是關於分片 – Sammaye

+0

在[sharded cluster balancer](https://docs.mongodb.com/manual/core/sharding-balancer-administration/)上,它在異構羣集上的工作情況與非異構羣集? –