我想在EC2上爲我的生產部署mongoDB。但是,我無法在網上找到足夠的信息來幫助解答我的架構問題。在EC2上部署MongoDB進行生產的建議做法?
- 一般來說,什麼應該是初始簇w/N碎片?
- 添加額外碎片的部署計劃應該是什麼?
- 什麼應該是故障轉移策略(當一個或多個節點發生故障時會發生什麼)?
- 災難恢復策略應該是什麼?我正在考慮在美國東部和美國西部的其他節點設立一些節點,如this powerpoint file說。
回答非常感謝。
我想在EC2上爲我的生產部署mongoDB。但是,我無法在網上找到足夠的信息來幫助解答我的架構問題。在EC2上部署MongoDB進行生產的建議做法?
回答非常感謝。
附加說明:
溫斯頓,克里斯蒂娜·喬多羅的 「縮放MongoDB的」 是你想要什麼:
http://oreilly.com/catalog/0636920018308
據我瞭解,
1)你想副本集的3個或更多(一些奇數)每個分片的實例,加上每個分片中的一些時間延遲實例作爲備份
2)簡單地將它們添加到集羣中 - Mongo將緩慢地將分片移動到新節點上,直到集羣被重新平衡
3)副本集通常會很好地處理故障轉移;但是,您可能需要將Mongo的仲裁實例添加到運行應用程序前端的服務器 - 這些仲裁者將投票支持其餘實例成爲初選,以防許多節點停止運行,並且有助於確保任何可以訪問的Mongo實例您的前端服務器將能夠接管主要角色
4)將時間延遲實例添加到每個副本集是一個好主意,尤其是如果(如您所說)在地理上分佈,或者如果它們在幾個託管服務提供商(例如,如果您的主服務器在亞馬遜上,您可能需要在Rackspace上進行備份)。如果副本集的大部分發生故障,剩餘的節點將不會自動選擇新的主節點,但是您可以在發生這種災難時手動執行此操作。
myNoSQL是我最喜歡的NoSQL博客,最近發佈了一篇名爲Running MongoDB in the Cloud的文章,列出了幾篇關於在Amazon雲中部署MongoDB的文章。
1)我想用幾個碎片,除非你知道你肯定需要更多的開始。
2)添加更多分片的棘手部分是重新平衡所花費的時間。根據您的數據和負載情況,整個分片可能需要幾天才能重新平衡。因此,您希望在低負載時間安排分片添加
3)每個分片應至少有一個2 + 1副本集,副本分佈在可用區域內。
4)如果您對災難恢復感興趣,應該在各個區域而不是跨可用區域分佈副本。更多信息在這裏 - EC2 best practices。另外請記住,如果您在各地區分發副本,請正確配置副本集的優先級。