gpt4 book ai didi

meteor - 断开连接的 meteor 应用程序

转载 作者:行者123 更新时间:2023-12-04 08:36:31 24 4
gpt4 key购买 nike

我有兴趣使用 Meteor 创建应用程序将长时间(数小时)与网络断开连接的框架。我相信meteor 将本地数据存储在一个迷你mongodb 的RAM 中js结构体。如果用户关闭浏览器或刷新页面,所有本地更改都将丢失。如果将本地更改持久化到磁盘( localStorage ? indexedDB ?),那就太好了。 Meteor 即将到来的任何机会?

相关问题... Meteor 如何处理文档冲突?换句话说,如果 2 个用户编辑同一个 MongoDB JSON 文档,该冲突如何解决?乐观锁?

最佳答案

冲突解决是“最后的作者获胜”。

更具体地说,客户端上的每个 MongoDB 插入/更新/删除操作都映射到一个 RPC。来自给定客户端的 RPC 始终按顺序播放。来自不同客户端的 RPC 在服务器上交错,没有任何特定的顺序保证。

如果客户端在断开连接时尝试发出 RPC,这些 RPC 会排队等待客户端重新连接,然后按顺序播放到服务器。当多个客户端执行离线 RPC 时,它们最终在服务器上运行的顺序高度依赖于每个客户端重新连接的确切时间。

对于一些离线突变,如 MongoDB 的 $inc$addToSet ,这个模型运行得很好。但是许多常见的修饰符如 $set在长时间断开连接时不会表现得很好,因为突变可能会与来自其他客户端的干预更改发生冲突。

因此,构建“离线”应用程序不仅仅是持久化本地数据库。您还需要定义实现某种类型的冲突解决的 RPC。最终,我们希望拥有实现各种分辨率方案的交 key 包。

关于meteor - 断开连接的 meteor 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com