连接到一个数据库的两个流星实例 - 延迟问题

时间:2014-12-12 15:29:26

标签: node.js mongodb nginx meteor

我有两个很大的应用程序部分。主要部分适用于domain.com,另一个适用于admin.domain.com。两者都连接到一个数据库,因为我需要两个数据库相同的数据。

domain.com - localhost:3001和admin.domain.com - localhost:3002。 Nginx在前面用于反向代理。

一切正常,但是当admin.domain.com应用程序更改数据时,我在domain.com上更新此数据时会有很大的延迟

据我了解,我需要启用mongo oplog?是对的吗?怎么做?

upd:当两个用户连接到一个流星实例时,我也没有这么长的延迟,在这种情况下,流星反应性工作正常,并且两个用户的数据更新很快。我的意思是,问题在于流星调查数据库有关任何变化的频率。 enter image description here

2 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为Meteor每10秒就会拉动一次数据库,而OPLOG几乎是即时的。即使使用OPLOG,您也可能会遇到缓慢的更新,因为在某些情况下(例如聚合)依赖Mongoldb cpu。

如果您正在使用将URL传递给Mongodb OOLOG服务器:

export MONGO_OPLOG_URL=mongodb://localhost:$MONGO_PORT/local

答案 1 :(得分:0)

查看有关设置oplog tailing and Meteor的帖子。我想它会回答你的问题。它不会减少往返客户端 - >服务器和服务器 - >客户时间,但我不怀疑你的延迟是在哪里。