我一直想知道mongoDB
立即知道变化一段时间以及我见过的最佳解决方案,是拖尾mongoDb
日志,我只是想知道直到遇到Meteor
.
当mongoDB
以某种方式(通过Meteor或直接)Meteor
进行更改时,立即了解更改并应用它们.我们可以在publishing
变化或观察(observe
或observeChange
)变化时看到它.
我想,Meteor
通过拖尾mongoDB
日志作为我见过的最佳解决方案可以理解它.但是这个假设也让我问,Meteor
可以mongoDB
在不同的主机上运行,如果meteor知道MongoDB立即改变的方式是拖尾日志,那么如何在不同的机器(不同的主机)Meteor
上mongoDB
运行日志并处理更改?在不同的主机上拖尾需要痛苦的事情,我认为Meteor不会这样做.
我认为由于这个问题,拖尾日志不是我的答案.
我很好奇这个知识.因为,我认为,如果我拥有它,我可以在没有其他作品的情况下使用它Meteor
.
那么,怎么能立刻Meteor
知道mongoDB
变化呢?我想再问一次; 什么是mongoDB
立即了解变化的最佳方式?
谢谢!
是的,你是对的,这是来自新的新的oplog拖尾功能.Meteor假装它是一个副本集中的mongodb,并且它正在监视mongodb的操作日志.
通常,数据库需要多个服务器,以便在出现故障时能够保持原状.MongoDB在副本集中具有此功能.
所以这就是meteor的用武之地.Meteor假装是一个mongodb副本数据库,所以当这个操作日志中的任何数据发生变化以便其他副本看到时,Meteor知道数据已经改变并且可以立即将这些新数据推送到客户端.
您可以在设置时使用具有此新功能的其他mongo数据库MONGO_OPLOG_URL
.您需要先将mongodb设置为副本集,以便启用操作日志
这是上周在0.7版本中引入的最新介绍,您可以在下面看到有关它的博客文章
关于它的更多链接:
https://www.meteor.com/blog/2013/12/17/meteor-070-scalable-database-queries-using-mongodb-oplog-instead-of-poll-and-diff
https://www.youtube.com/watch?v=_dzX_LEbZyI
https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver