2012-05-21 101 views
2

我想使用mongodb将缓存数据库分发给某些分布式工作节点我将在EC2中按需启动。当一个节点上升时,mongo的本地副本应该连接到数据库的主副本(比如说mongomaster.mycompany.com)并下载一个新的数据库副本。它应该继续从主服务器复制更改,直到该节点关闭并从池中释放。MongoDB无共享奴隶

要求是,主站不需要知道每个单独的从站是否正在启动,也不应该知道从站是否具有主站之外的其他节点(mongomaster.mycompany.com)的任何知识。

从服务器应该是只读的,主服务器将是唯一接受写入的节点(并且绝不会从这些ec2节点中的一个节点)。

我查看了副本集,这似乎不可能。我之前用主/从设置完成了类似于此的操作,但它不可靠。主/从复制容易发生突然的灾难性故障。

回答

0

关于复制对象:虽然我不认为您可以让主成员(以及其他节点)不可见,但由于需要复制,您可以调整特定的节点以接近你想:

  • 将新推出的节点优先级0(这意味着它不能成为主)
  • 将新推出的节点来“隐藏”

以下连结更多信息在上和hidden节点。