2016-07-20 89 views
2

我讀過很多關於每個微服務有數據存儲的文章。我將使用這種方法,但希望知道使用Couchbase Sync Gateway的最佳方式,因爲我想使用來自移動和後端服務器應用程序的Sync Gateway REST API調用。我在想,最簡單的方法是擁有一個Couchbase集羣(3-n Couchbase服務器實例),可能有2-3個存儲桶。一個會話桶可能,另一個是我的所有數據,也可能是其他一些數據。對於每個微服務的「數據庫」而言,我認爲我應該將所有數據放在一個存儲桶中,並通過文檔字段區分數據庫和表。所以,也許我會是這樣的:Couchbase微服務體系結構

{ 
    database: 'person-api' 
    doc_type: 'Person' 

    ... 
} 

我也有多個數據庫條目都指向我的同步網關配置文件相同的桶每個服務。然後,我需要設置ACL或某種只允許後端服務器應用程序訪問自己的數據庫的控件(所以''選'api'服務器只能讀/寫相應的database屬性的文檔)。這一切都必須通過Sync Gateway進行,至少需要寫入(我可能會使用sdks進行大部分讀取)。

同步網關對我來說仍然有點混亂,我不確定這是否是最好的方法。我只是將頻道用作一種ACL?這只是一個不好的方法開始?有什麼建議麼?謝謝!

回答

-1

因此,在同步網關你有CHANNELS,JSON Docs & USERS的概念。

在你可能希望在將數據分成不同的部分微服務模式:

  • 你想用一個特定子集的數據在未來爲其他
    項目。
  • 您可能希望該數據具有 特定用途的同步功能。
  • 您可能希望保持簡單,並且不想管理一個非常大的複雜同步函數來管理所有數據類型。

  • 您有非常具體的安全問題。因此,有一個同步網關數據庫 用於公開信息,第二個用於非常私密/敏感的 數據。