领域对象服务器 - 何时进行同步?

Realm Object Server - When does syncing occur?

我有一个 iOS 应用程序,由托管在亚马逊上的 Realm 对象服务器提供支持,我很好奇 实际发生同步的时间 。是对查询进行惰性同步,对所有开放领域进行实时同步,还是其他?

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

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

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

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

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

您可以做的是拥有一个仅包含用户 ID、他们的 "names" 以及通往他们的 "inbox" 领域的路径的 /common 领域。当用户A想要 邀请用户 B,A 在 /common 中查找 B,获取 B 收件箱的 Realm 路径,并向其发送权限提议。

使用这种方法,公共领域不会增长那么大,因为数据 par user 可以保持在 100 字节以下,比方说。