每個服務的資料庫



問題陳述

微服務架構將應用程式構建為一組鬆散耦合的微服務,並且每個服務都可以以敏捷方式獨立開發,以實現持續的交付/部署。基於微服務的應用程式中,資料庫結構/架構應該是什麼。

解決方案

我們可以讓每個微服務資料對該微服務保持私密,並且只能透過相關微服務訪問這些資料。該微服務將使用自己的資料庫進行事務處理。以下圖表顯示每個服務的資料庫設計模式實現。

Database per Service Microservices Design Pattern

每個服務的資料庫並不總是需要配置獨立的資料庫。我們可以考慮如下方式使用關係資料庫來實現該模式。

  • 每個服務的私有表 - 每個微服務都可以使用一組表,並且這些表只能透過它們相關的微服務訪問。

  • 每個服務的模式 - 每個微服務都可以定義一個獨立的模式。

  • 每個服務的資料庫伺服器 - 每個微服務都可以配置完整的資料庫伺服器。

廣告