Jersey 拦截与CouchDB后端的数据库通信

Jersey 拦截与CouchDB后端的数据库通信,jersey,synchronization,couchdb,pouchdb,amazon-cognito,Jersey,Synchronization,Couchdb,Pouchdb,Amazon Cognito,我正在考虑将PockDB&CouchDb作为Amazon Cognito Sync的替代品,用于一款需要在设备和用户之间同步数据的混合移动应用程序。我有一个与本地couchdb同步的小样本应用 为了响应这些同步事件,我需要能够截获Java中PockDB和couchdb之间的来回通信。有点像Amazon Cognito Sync的同步触发器。而且,我一直在想春天的AOP 因为couchdb有一个rest接口,所以我想我可以将PockDB指向我的应用服务器,它有一个控制器监听任何以db名称为基础的请

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

为了响应这些同步事件,我需要能够截获Java中PockDB和couchdb之间的来回通信。有点像Amazon Cognito Sync的同步触发器。而且,我一直在想春天的AOP

因为couchdb有一个rest接口,所以我想我可以将PockDB指向我的应用服务器,它有一个控制器监听任何以db名称为基础的请求。当来自PockDB的请求进入Java Rest控制器时,可以选择执行某些操作,然后将请求转发到couchdb的真正Rest端点并获得响应,然后选择再次执行某些操作,然后将响应返回给PockDB


这似乎是一个可行的解决方案吗?我目前正在努力让这个概念发挥作用。还有其他人做过类似的事情吗?这种方法有什么重大缺陷吗?目前,我将Java 8与Spring Boot&Jersey一起使用。

我认为体系结构是这样的:

  • 数据到处都是空的
  • 数据更改,即数据更改通过REST API推送的设备
  • 您的服务器“主”,向设备发送通知GCM或APN
  • 在通知侦听器中,检查通知类型并同步数据
  • 如果新设备连接到“要同步的设备列表”,则会发送推送通知以同步数据
  • 保留已连接设备的列表
每个设备/web浏览器都有相同的想法。您有一个本地缓存,如果它在本地发生更改,您可以将其推送到“主缓存”

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

还要考虑可伸缩性,设备不必拉动“主机”,主机发送通知以触发设备下载数据

你必须处理差异,定期检查,等等。。。
祝你好运

我认为架构是这样的:

  • 数据到处都是空的
  • 数据更改,即数据更改通过REST API推送的设备
  • 您的服务器“主”,向设备发送通知GCM或APN
  • 在通知侦听器中,检查通知类型并同步数据
  • 如果新设备连接到“要同步的设备列表”,则会发送推送通知以同步数据
  • 保留已连接设备的列表
每个设备/web浏览器都有相同的想法。您有一个本地缓存,如果它在本地发生更改,您可以将其推送到“主缓存”

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

还要考虑可伸缩性,设备不必拉动“主机”,主机发送通知以触发设备下载数据

你必须处理差异,定期检查,等等。。。 祝你好运