2011-07-21 43 views
2

,我想用我的MongoDB在Windows服務器上,我使用的.NET代碼爲:的MongoDB - 託管在多個服務器上

https://github.com/atheken/NoRM/wiki/ 

我有我需要託管的MongoDB並保持2個Web服務器兩個實例上的數據庫同步。我應該看什麼來實現這一目標?看起來主/從複製選項是理想的。

如果我這樣做,我可以保留我的連接字符串爲?

mongodb://localhost/MyDatabase?strict=false 

感謝您的任何幫助。這是我第一次嘗試使用MongoDB。

+0

爲什麼你需要兩臺服務器,如果我可能會問? – Phil

+0

我們有2個Web服務器和一個負載平衡器。我們的目標是,如果流量達到我們的主要Web服務器,它將衝擊主要的MongoDB數據庫,否則,它將成爲奴隸。如果數據被插入從站,我希望它複製到主站。 – Brandon

+4

你不能這樣做,MongoDB不支持雙向複製。主/從表示只能寫入主設備,然後從主設備或從設備讀取。如果您嘗試在多臺服務器上傳播寫入,則需要分片,如果您只是試圖傳播讀取內容,那麼主/從複製就是您想要的。 –

回答

4

MongoDB不支持這種類型的點對點複製,只有主從數據總是寫入主數據庫,然後同步到輔助複製副本。但是,您可以通過使用slaveOk選項來跨副本分發讀取內容。查看副本集瞭解更多信息。要分配寫入,請看分片

另外,它可能不是理想的MongoDB和您的Web服務器在同一個盒子。關於內存,Mongo是貪婪的,如果數據庫增長得比可用內存大,那麼Web服務器的性能可能會受到影響。

+0

分片和自動故障轉移選項是我所需要的。感謝您指點我正確的方向。本教程非常適合幫助我設置和運行:http://blog.boxedice.com/2010/08/03/automating-partitioning-sharding-and-failover-with-mongodb/ – Brandon

+0

沒有probs,一些非常出色的MongoDB博客上的提示,他們的服務器密度是一個很棒的產品。 –