流星怎么能立刻知道MongoDB的变化?

Ahm*_*DAL 6 mongodb meteor

我一直想知道mongoDB立即知道变化一段时间以及我见过的最佳解决方案,是拖尾mongoDb日志,我只是想知道直到遇到Meteor.

mongoDB以某种方式(通过Meteor或直接)Meteor进行更改时,立即了解更改并应用它们.我们可以在publishing变化或观察(observeobserveChange)变化时看到它.

我想,Meteor通过拖尾mongoDB日志作为我见过的最佳解决方案可以理解它.但是这个假设也让我问,Meteor可以mongoDB在不同的主机上运行,​​如果meteor知道MongoDB立即改变的方式是拖尾日志,那么如何在不同的机器(不同的主机)MeteormongoDB运行日志并处理更改?在不同的主机上拖尾需要痛苦的事情,我认为Meteor不会这样做.

我认为由于这个问题,拖尾日志不是我的答案.

我很好奇这个知识.因为,我认为,如果我拥有它,我可以在没有其他作品的情况下使用它Meteor.

那么,怎么能立刻Meteor知道mongoDB变化呢?我想再问一次; 什么是mongoDB立即了解变化的最佳方式?

谢谢!

Aks*_*hat 8

是的,你是对的,这是来自新的新的oplog拖尾功能.Meteor假装它是一个副本集中的mongodb,并且它正在监视mongodb的操作日志.

通常,数据库需要多个服务器,以便在出现故障时能够保持原状.MongoDB在副本集中具有此功能.

所以这就是meteor的用武之地.Meteor假装是一个mongodb副本数据库,所以当这个操作日志中的任何数据发生变化以便其他副本看到时,Meteor知道数据已经改变并且可以立即将这些新数据推送到客户端.

用于生产

您可以在设置时使用具有此新功能的其他mongo数据库MONGO_OPLOG_URL.您需要先将mongodb设置为副本集,以便启用操作日志

这是上周在0.7版本中引入的最新介绍,您可以在下面看到有关它的博客文章

关于它的更多链接:

  • @AhmetDAL它可用,但它是一个民意调查和差异算法.所以这些变化确实进行了,但迟到了最多10秒.(Meteor每隔10秒轮询一次数据库) (2认同)