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

时间:2017-08-13 18:38:59

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

我有一个由亚马逊托管的Realm Object Server提供支持的iOS应用程序,我很好奇实际发生同步时。对查询进行同步,对所有开放领域进行实时同步还是其他什么?

例如,假设我有一个名为/ common的域,所有SyncUsers都对此域具有读/写权限。每个活动的SyncUser还有一个通知块,用于监听/ common域中与其SyncUser标识对应的GlobalProfile对象。如果一个用户对另一个用户的GlobalProfile对象进行了更改,那么所有用户是否会立即下载此更改,或者只有具有该对象通知块的用户才会立即下载更改?

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

如果这个问题不明确,请告诉我。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

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

如果您有/普通领域,它将包含您的所有许可优惠和 所有用户都将下载所有其他用户的权限优惠。它会随着时间的推移而变大。

你可以做的是拥有一个只包含用户ID,他们的"名称"以及他们的"收件箱"的路径的/共同领域。领域。当用户A想要时 邀请用户B,A在/ common中查找B,获取B的收件箱的领域路径,并向其发送权限要约。

通过这种方法,普通的Realm不会那么大,因为数据par用户可以保持在100字节以下,比如说。