MongoDB无共享奴隶

时间:2012-05-21 00:03:58

标签: mongodb caching amazon-ec2 distributed database

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

要求是主人不需要知道每个被激活的个别奴隶,奴隶也不应该知道主人之外的其他节点(mongomaster.mycompany.com)。

从属设备应该是只读的,主设备将是唯一接受写入的节点(并且永远不会从这些ec2节点之一)。

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

1 个答案:

答案 0 :(得分:0)

关于replicasets:虽然我不认为你可以让一个set成员对主(和其他节点)不可见,但由于需要复制,你可以定制一个特定的节点来非常接近你想要的东西:

  • 将新启动的节点设置为优先级0(表示它不能成为主节点)
  • 将新启动的节点设置为“隐藏”

以下是指向priority 0hidden节点的更多信息的链接。