【发布时间】:2016-06-01 06:32:20
【问题描述】:
我们正在处理一个与此 (PouchDB: Multiple remote databases, single local database (fancy replication)) 非常相似的案例,但不确定哪种方法更好。
首先勾勒出这个场景,我们有多个“普通用户”(从现在起我将简称为“用户”)和一小部分“超级用户”(我将其称为“管理员”)保持词汇简单)。
用户可以创建文档和编辑文档,这些文档是唯一分配给他们的。此功能应该在线和离线都可用。为了实现这一点,我们只需为每个用户使用一个远程单独的 CouchDB,同步到设备上的 PouchDB。
现在,我们还有管理员,可以查看和编辑所有用户的所有文档。他们还可以将文档添加到用户的存储桶中。实现这个功能就是问题所在。
目前我们确定了两种可能的方法,但不确定哪一种是可行的方法。
我们的第一个解决方案是为这些管理员也提供一个 CouchDB,并在所有用户的 CouchDB 和管理员的 CouchDB 之间设置过滤双向复制。然后管理员的 CouchDB 将与本地 PouchDB 同步。
第二种解决方案是在顶部链接中勾勒的解决方案,即将所有用户的 CouchDB 直接同步到管理员设备上的 PouchDB,并在另一个方向设置过滤复制。我们可以根据用户角色确定要同步哪些 CouchDB。
第二种解决方案似乎更简单且不那么脆弱(CouchDB 中的数据复制更少,CouchDB 中的复制设置更少),但我们不太确定打开大量 Couch 的性能开销 同时进行小袋复制。
有没有人处理过这样的案例?关于什么是更好的解决方案的任何反馈?还是我们错过了另一个?欢迎所有的cmets!
【问题讨论】: