微服務(wù)架構(gòu)的關(guān)鍵思想是功能分解。這意味著您無需開發(fā)單個大型應(yīng)用程序,就可以將您的應(yīng)用程序結(jié)構(gòu)分解為一組邏輯服務(wù)。 應(yīng)用程序的體系結(jié)構(gòu)很重要,因為它決定了服務(wù)的質(zhì)量
軟件構(gòu)架應(yīng)用程序的體系結(jié)構(gòu)是將其分解為組件以及這些組件之間的關(guān)系。 分解很重要,因為它有助于團隊之間的工作和知識分配,并提供應(yīng)用程序整體工作的清晰度。 軟件架構(gòu)的4 + 1視圖模型 它定義了軟件體系結(jié)構(gòu)的四個視圖 邏輯視圖
開發(fā)視圖 /實施意見
進程視圖
物理視圖
4 + 1視圖模型中的+1代表動畫視圖,并描述特定視圖中的各個組件如何協(xié)同工作以處理請求。 架構(gòu)風(fēng)格分層架構(gòu) 分層體系結(jié)構(gòu)將軟件組件分層組織。層可以依賴于其下面的任何層。 流行的三層架構(gòu)是分層架構(gòu) 分層架構(gòu)的缺點
六角形架構(gòu)基于建筑風(fēng)格的整體 整體架構(gòu)可以定義為一種架構(gòu)樣式,該架構(gòu)樣式將實現(xiàn) 視圖表示為單個組件:單個可執(zhí)行文件或可部署文件。 基于架構(gòu)風(fēng)格的微服務(wù) 架構(gòu)風(fēng)格的微服務(wù)架構(gòu)表示一個具有一組多個組件的實現(xiàn)視圖:可執(zhí)行文件和Wars。 組件是服務(wù),關(guān)系是通過通信協(xié)議進行的。盡管通常實現(xiàn)六邊形體系結(jié)構(gòu),但是各個服務(wù)可以自由選擇其體系結(jié)構(gòu)。 微服務(wù)架構(gòu)服務(wù)的關(guān)鍵約束應(yīng)該松散耦合。 服務(wù)服務(wù)是實現(xiàn)某些有用功能的獨立,可獨立部署的組件。 服務(wù)通常提供兩類動作
服務(wù)還會發(fā)布事件。 松耦合任何兩個服務(wù)將僅通過API進行通信。API隱藏了服務(wù)的內(nèi)部實現(xiàn)。兩個服務(wù)不共享同一數(shù)據(jù)庫以提供運行時隔離,因此一個服務(wù)無法持有將阻止另一服務(wù)的鎖。 定義應(yīng)用程序的微服務(wù)架構(gòu) 步驟如下:
識別系統(tǒng)操作將系統(tǒng)視為黑匣子?,F(xiàn)在確定所有系統(tǒng)操作。 系統(tǒng)操作是應(yīng)用程序必須處理的請求的抽象。它可以是命令,也可以是查詢。 它涉及以下操作:
定義服務(wù)有兩種方法可以識別系統(tǒng)中的服務(wù):
分解原理單一責(zé)任原則
開放關(guān)閉原則
將應(yīng)用程序分解為服務(wù)的障礙
定義服務(wù)API服務(wù)API有兩類
|
|