Parse 的 iOS SDK(或其他 SDK)如何解决冲突?
Posted
技术标签:
【中文标题】Parse 的 iOS SDK(或其他 SDK)如何解决冲突?【英文标题】:How does Parse's iOS SDK (or other SDK's for that matter) resolve conflicts? 【发布时间】:2015-01-19 16:50:38 【问题描述】:在分布式系统中,冲突是不可避免的。你可以从this video from Couchbase看到一个简单的解释。
Parse 在文档中过度简化了数据同步,说您不必担心:saveEventually
将确保您的更改最终会被上传,而在执行fetch
时,远程更改将更新您的本地数据(参见https://parse.com/docs/ios_guide#localdatastore-saving/iOS)。
但是,会发生冲突。没有提到如何解决冲突。如何处理?
【问题讨论】:
不确定 parse 是否/如何克服这个问题,但我通过不使用 saveEventually 来克服它。如果我认为在保存后继续执行时可能会发生查询,我会使用一种保存形式来告诉我何时完成。 (在 iOS 中,...WithCompletion:) 【参考方案1】:Parse 不处理冲突,您需要避免应用客户端的情况或编写复杂的云代码来处理并发方案或数据版本的管理,然后相应地合并或删除。总体而言,这既困难又乏味。
对于 Couchbase 和 Couchbase Mobile,保留完整的修订树,您作为应用程序开发人员可以通过 API 控制如何处理文档上的冲突。
我写了一个blog,简要地提到了这一点以及如何解决冲突。
【讨论】:
以上是关于Parse 的 iOS SDK(或其他 SDK)如何解决冲突?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Parse iOS SDK 的 Parse Calls 中添加标头?