【问题标题】:How does Couchbase Sync Gateway get Couchbase Server changes?Couchbase Sync Gateway 如何获得 Couchbase Server 更改?
【发布时间】:2016-02-03 14:54:36
【问题描述】:

Couchbase Sync Gateway 使用什么机制来获取 couchbase 服务器中的数据库更改。

  1. 它是做一个长轮询还是创建一个 websocket 连接?
  2. 还是经常调用 Couchbase 服务器 REST API ?如果是这样,那么哪个 REST API 以及它在针对该 REST API 的 HTTP 请求中发送的查询是什么?

【问题讨论】:

    标签: rest couchbase couchbase-sync-gateway


    【解决方案1】:

    两者都不 - 它使用DCP(复制和 XDCR 使用的相同底层协议)订阅来自 Couchbase 服务器的更新。

    【讨论】:

      【解决方案2】:

      经过一番研究,我发现了以下几点。

      1) sync_gateway 首先与 couchbase 服务器建立到端口 8091 的 tcp 连接,并通过该 tcp 连接发送 http GET 请求以调用 REST API /pools ad /pools/default。

      2) 此后,每当用户发起文档更改时,sync_gateway 都会发送带有数据字段的 tcp 数据包,询问用户信息和正在更改的文档信息。

      3) 现在 sync_gateway 发送另一个 TCP 数据包,该数据包的修订版本已修改,并从 couchbase 服务器获得文档已修改的响应。

      4) 所有这些对话都是使用 TCP PSH ACK 数据包进行的。所以没有 HTTP 数据包流动。只有 TCP 服务器与双方通信。

      【讨论】:

        猜你喜欢
        • 2019-12-20
        • 2014-06-08
        • 1970-01-01
        • 2013-10-26
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        • 2020-06-12
        • 1970-01-01
        相关资源
        最近更新 更多