Java MongoDB假装是复制奴隶

时间:2014-10-31 15:58:07

标签: java mongodb replication

我们尝试做的是Meteor使用LiveQuery对Mongo做的事情,这就是:

  

Livequery可以连接到数据库,假装是复制   slave,并使用复制日志。大多数数据库支持一些   复制形式,因此这是一种广泛适用的方法。这是   自MongoDB以来,Livequery更喜欢使用MongoDB的策略   没有触发器。

Source of that quote here

有没有办法在Java中用 com.mongodb。*; 创建这样的复制slave,以便它接收主Mongo服务器上发生的每次更新的任何通知?

另外,我在本地数据库中看不到任何复制日志。有没有办法打开它们?

如果用Java无法做到这一点,是否可以用其他语言创建这样的解决方案( C ++或Node.js可能)?

1 个答案:

答案 0 :(得分:1)

您需要使用--replSet rsName选项启动数据库,然后运行rs.initiate()。之后,您将在本地数据库中看到rs.oplog集合。

您所描述的内容通常被称为“拖尾oplog”,它基于在封顶集合上使用Tailable Cursor(在本例中为MongoDB oplog)。机制相对简单,有很多用Java编写的oplog尾部示例,这里有几个: