【发布时间】:2015-02-21 03:38:48
【问题描述】:
当客户端订阅发布时,我知道 2 个选项:{reactive:true (default)} 和 {reactive:false}。
如果我们使用 Meteor,我们很可能想要使用反应性,但有时我不需要实时更新而是接近它。如何为发布/订阅设置间隔刷新率?
另一种情况:假设有 300 个客户端订阅了一个发布,数据发生更改,所有客户端同时收到 DDP 更改消息。我可以在每次客户端更新之间创建某种延迟吗?我不希望 CPU 负载过重,用户注意到应用程序没有像往常一样快速响应。
您可能会问自己:为什么这个人要这样做?当您开始获得大量客户端时,由于所有实时更新,应用程序可能会很快变慢。在我的场景中,我不需要实时更新,但需要一些接近它。示例:10 秒刷新率。
【问题讨论】:
-
我敢打赌,可以使用观察者和低级发布添加/更改/删除消息来排队多条消息并定期以块的形式发送它们。我不知道这是否真的有助于提高应用程序的可扩展性……您最终仍会发送相同数量的消息。
-
据我所知,没有办法减慢 DDP 消息的速度,Meteor 使用 sock.js 进行 DDP。如果您想减慢 UI 更新速度,可以创建一个本地集合,并使用计时器将本地集合与服务器集合同步。
标签: meteor publish-subscribe reactive-programming