Couchbase Sync Gateway如何改变Couchbase Server?

时间:2015-11-03 12:39:55

标签: rest couchbase couchbase-sync-gateway

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

  1. 是否进行长轮询或创建websocket连接?
  2. 或者经常调用Couchbase服务器REST API吗?如果是,那么哪个REST API以及它在该REST API的HTTP请求中发送的查询是什么?

2 个答案:

答案 0 :(得分:2)

两者都没有 - 它使用DCP(复制和XDCR使用的相同底层协议)订阅Couchbase Server的更新。

答案 1 :(得分:1)

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

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

2)之后,只要用户发起文档更改,sync_gateway就会向数据字段发送tcp数据包,询问用户信息和正在更改的文档信息。

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

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