微服務架構模式語言包含了許多組模式。模式語言的值超出了它的各個模式的總和,因為它定義了模式之間的這些關係:
我們來看看如何應用微服務架構模式語言來構建你的應用程式。在這篇文章中,我們將看看你必須做出的
3個關鍵決定。在後來的帖子中,我們將看看其他重要的,雖然不是那麼重要的模式。
決策#1:
單體架構或微服務架構?
您必須做出的第乙個決定是使用單體架構模式還是使用微服務架構模式。如果您選擇微服務架構模式,您必須選擇許多其他模式來處理您所做決定帶來的後果。
您可以看到,您還必須應用許多其他模式。讓我們看看你必須做的幾個選擇。
決策#2:
如何將應用程式分解成服務?
如果您決定使用微服務架構,您必須定義您的服務。有兩個主要選擇,
這種模式產生的結果:服務圍繞業務概念而不是技術概念進行組織。
決策#3
:如何維護資料一致性並執行查詢?
微服務的乙個關鍵特徵是每個服務單獨資料庫模式。這是可選方案,共享資料庫模式本質上是一種反模式,最好避免。每個服務單獨資料庫模式的資料庫極大地改變了如何維護資料一致性並執行查詢。您將需要使用
saga
模式。您將經常需要使用命令查詢責任分隔(
cqrs
)模式來實現查詢。
to becontinued….
架構模式的演變之路 從單體架構到微服務架構
談到軟體系統設計的方 在 層面,有我們熟悉的23種設計模式 design pattern 對應到架構層面,則有所謂的架構模式 architecture pattern 它們分別從微觀和巨集觀的角度指導著我們設計出良好的軟體系統,因此,作為乙個軟體工程師,我們不僅要熟悉設計模式,對常見的架構模式也要熟...
微服務架構模式系列文章之三 API閘道器
背景 產品細節ui可以顯示出大量產品資訊。舉例來說,amazon.com的pojos in action 圖書詳情頁面中會顯示 因此,顯示產品詳情的 需要從這些服務中獲取資訊。問題 微服務架構的應用客戶端如何訪問各項服務?需求 方案 使用api閘道器作為全部客戶端的單一入口點。該api閘道器通過以下...
微服務架構模式系列文章之七 自註冊
背景 如採用客戶端服務發現模式或者伺服器端服務發現模式,各服務例項必須在啟動時註冊至服務登錄檔,從而保證其能夠被獲取,並在關閉時進行登出。問題 如何在服務登錄檔內註冊和登出服務例項?需求 方案 一項服務例項必須可以自動註冊到服務登錄檔中。在啟動時,該服務例項將自身 主機與ip位址 註冊至服務登錄檔,...