2017-10-15 195 views
0

技术:
前端: 阵营原住民, Couchbase精简版
后端: Couchbase服务器阵营本地和Couchbase

我建立了信息共享应用程序,其中用户1发送消息给用户2和下面是我的usecases ,

  1. 用户1信息将被存储到本地couchbase精简版DB
  2. 当“用户1在线”,转移了我ssage到couchbase服务器
  3. 当“用户2在线”时,couchbase服务器将该消息发送给用户2,一旦用户2确认它接收到消息,请从couchbase服务器中删除该消息。

Iam知道,couchbase lite/couchbase-server可用于执行仅本地,远程,本地和删除同步操作。

但不知道如何实现点,

  1. 如何检测user1的网上,这样一旦USER1在线,信息将被发送到服务器
  2. 如何实现的确认(服务器-客户)。即,服务器确认到它接收到的消息用户1
  3. 如何从服务器侧检测用户2是在线的,使得服务器发送消息,当用户2是在线
  4. 如何执行确认(客户端 - 服务器)
  5. 删除来自couchbase服务器的消息一旦收到确认。)

是否couchbase适合实现我的用例,或者我是否需要查找任何替代方法。

回答

1

我相信捆绑同步网关(SG)+ Couchbase精简版(CBL)能满足您的需求:

  1. “USER1在线” 意味着他的应用CBL开始推复制与SG( “发送消息”)
  2. 一次user1的应用程序完成复制其CBL可以确保文档被“送”给SG
  3. 相同点1,但拉复制
  4. 一次点3发生了 - 只是采取相应的行动服务器端(见SG web-hooks)
+0

希望该建议适用于移动到移动通信。我的场景也包括第三方更新(即从Web服务更新)。因此,我想将所有验证后从webservice收到的数据存储到Couchbase数据库,然后将此数据传递给移动用户。一旦消息被传递,我需要删除couchbase数据库中的数据。 – ugendrang