meteorJs如何处理大数据集的同步?

时间:2012-08-19 07:01:55

标签: meteor

我想知道meteorJs如何管理大数据集的同步。

让我们说我们绑定find查询的结果,返回一个介于1000到10.000记录之间的变量号,每个记录有10个字段,find查询一直在变化,具体取决于用户输入,每次都给出新的数据集!它有点极端,但它会帮助我理解。

那么流星同步这个怎么样?是否会立即发送所有内容(等待数据加载=> UI的反应性延迟=>对用户体验不太好)?或者将它们分成块并发送它们,用户会看到信息逐渐出现?

如果我们可以控制流量,你能指点吗?

感谢。

1 个答案:

答案 0 :(得分:4)

每个文档都在自己的DDP消息中发送。 DDP是Meteor的数据协议,目前作为传输层位于sockjs之上。当用户首次打开Meteor网页时,服务器会向他们发送他们订阅的所有数据。

稍后,随着数据的更新,Meteor服务器会精确计算客户端知道哪些信息已更改,并且只发送不同部分的更新。

要控制应用程序中的延迟,重要的是从项目中删除自动发布,并仔细决定要发布到客户端的游标,以便每个客户端只需要接收Web浏览器可能需要的信息。在接下来的一分钟左右显示。

当所有这一切发生时,客户端会在收到后立即重新呈现每组更改。如果要控制它,可以设置一个控制渲染的会话变量,您可以从每个子目录的onComplete回调中设置该变量。