【问题标题】:Realm Object Server - When does syncing occur?领域对象服务器 - 何时发生同步?
【发布时间】:2017-08-13 18:38:59
【问题描述】:

我有一个由 Amazon 上托管的 Realm Object Server 提供支持的 iOS 应用程序,我很好奇何时实际发生同步。同步查询是延迟的、所有开放领域的实时同步还是其他什么?

例如,假设我有一个名为 /common 的领域,并且所有 SyncUser 都对该领域具有读/写权限。每个活动的 SyncUser 还具有一个通知块,用于侦听 /common 领域中与其 SyncUser 身份相对应的 GlobalProfile 对象。如果一个用户对另一个用户的 GlobalProfile 对象进行了更改,所有用户会立即下载此更改,还是只有在此对象上有通知块的用户会立即下载更改?

具体来说,我想为用户(我们将其命名为 Tom)创建一种搜索其他用户并将他们发送到 Tom 领域的读/写权限的方法。我当前的解决方案是一个公共领域,每个用户都在其中添加一个 GlobalProfile 对象。要搜索名为 Jerry 的用户,Tom 可以简单地查询公共领域。要授予 Jerry 对 Tom 领域的读/写权限,Tom 可以将 SyncPermissionOffer.token 写入 Jerry 的 GlobalProfile。因为 Jerry 有一个通知块在监听他的 GlobalProfile,所以他会立即收到这个令牌的通知,并且可以接受 Tom 领域的 SyncPermissionOffer。然而,我担心的是所有用户,不仅仅是 Jerry,都会在 /common 领域同步这个变化,这是不必要的。如果应用有 100,000 个用户,我不希望每个用户不断同步所有在其他用户之间发送的 SyncPermissionOffer 令牌。

如果这个问题不清楚,请告诉我。非常感谢您的帮助!

【问题讨论】:

    标签: ios synchronization realm realm-mobile-platform realm-object-server


    【解决方案1】:

    所有更改都是实时同步的。同步不等待或取决于通知块。通知块在本地执行,不会以任何方式更改客户端-服务器通信。

    如果你有一个 /common 领域,它将包含你所有的许可提议和 所有用户都将下载所有其他用户的权限优惠。随着时间的推移,它会变大。

    您可以做的是拥有一个 /common 领域,其中仅包含用户 ID、他们的“名称”和他们的“收件箱”领域的路径。当用户 A 想要 邀请用户 B,A 在 /common 中查找 B,获取 B 的收件箱的 Realm 路径,并向其发送权限。

    使用这种方法,通用 Realm 不会增长到那么大,因为数据 par 用户可以保持在 100 字节以下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      相关资源
      最近更新 更多