2015-11-03 32 views
2

Couchbase Sync Gateway用於在couchbase服務器中獲取數據庫更改的機制。Couchbase Sync Gateway如何獲取Couchbase Server更改?

  1. 它做了一個長時間的投票或創建一個websocket連接?
  2. 還是經常調用Couchbase服務器REST API?如果是這樣,那麼哪個REST API以及它在該REST API的HTTP請求中發送的查詢是什麼?

回答

1

都不是 - 它使用DCP(與複製和XDCR使用相同的底層協議)訂閱來自Couchbase Server的更新。

1

經過一番研究,我發現了以下幾點。

1)sync_gateway首先與couchbase服務器建立tcp連接以連接8091端口,並通過該tcp連接發送http GET請求以調用REST API /池ad/pools/default。

2)之後,每當用戶發起文檔更改時,sync_gateway會發送帶有數據字段的tcp數據包,以詢問正在更改的用戶信息和文檔信息。

3)現在,sync_gateway發送另一個TCP數據包,並修改數據包的修訂版本,並從couchbase服務器獲取文檔已被修改的響應。

4)所有這些對話都使用TCP PSH ACK數據包進行。所以沒有HTTP數據包流動。只有通信雙方的TCP服務器。

相關問題