繁体   English   中英

拦截与CouchDB后端的PouchDB通信

[英]Intercepting PouchDB communications with CouchDB backend

我正在考虑将PouchDB和CouchDb作为Amazon Cognito Sync的替代品,用于混合移动应用程序,该应用程序需要在设备和用户之间同步数据。 我有一个pouchdb在一个与本地couchdb同步的小样本应用程序中工作。

我需要能够在Java中的pouchdb和couchdb之间来回拦截通信,以便做出响应这些同步事件的事情。 有点像Amazon Cognito Sync的同步触发器。 另外,我一直在思考Spring的AOP。

由于couchdb有一个休息接口,我想我可以将pouchdb指向我的应用服务器,该服务器有一个控制器监听以db名称为基础的任何请求。 当来自pouchdb的请求到达时,Java Rest Controller可以选择执行某项操作,然后将请求转发到该沙发的真实rest端点并获得响应,然后有选择地再次执行某些操作,然后将响应返回给pouchdb。

这似乎是一个可行的解决方案吗? 我目前正在努力使这个概念生效。 还有其他人做过这样的事吗? 这种方法有任何重大缺陷吗? 目前,我正在使用带有Spring Boot和Jersey的Java 8。

我认为架构是这样的:

  • 数据无处不在。
  • 数据更改后,更改数据的设备会通过REST API推送。
  • 您的服务器“主”将GCM或APN通知发送到设备。
  • 在通知侦听器中,检查通知的类型并同步数据。
  • 如果新设备连接到“要同步的设备列表”,则会发送推送通知以同步数据。
  • 保留已连接设备的列表。

每个设备/网络浏览器都有相同的想法。 您有一个本地缓存,如果本地更改,则将其推送到“主”。

您将有许多案例要处理,我认为没有开源项目提供与Cognito Sync相同的模式。

还要考虑可扩展性,设备不必拉你的“主”,主设备发送通知来触发设备下载数据。

您必须处理差异,定期检查等...祝您好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM