張鵬飛 王永強
摘要:理論上任何業務系統如果長期存在的話,隨著此系統業務變更、功能增加必然會不斷演變,在一個更大的分布式環境中,這種改變尤其明顯,那么就需要架構分析設計時更多的考慮系統所處的生態環境建設,這樣才能使得整個系統不斷進化。隨著虛擬化技術的發展以及docker容器實踐逐漸完善,微服務架構的設計思想逐漸浮出水面.形成分布式 環境下新的最重要的設計思想。
關鍵詞:軟件工程;微服務;持續交付
一、從分布式單體架構到微服務架構遷移
(一)分布式單體架構
分布式單體架構指的是在分布式環境下直接部署運行一個整體開發的應用,由整體應用來提供系統所需的服務,它在技術上通常采用分層實現,大致分為表現層、應用層、數據層,它有天然的優 勢:它是模塊獨立無關的,各層之冋是技術分離的;它有統一的技術棧和開發標準;它通常在一個進程中運行,模塊相互之間協同消耗極小。
(二)微服務架構定義
微服務架構是一種新的軟件體系設計模 式,它并沒有形成統一、嚴格的定義,但是基于其 分布式環境應用的場景,卻擁有一些共同的特征: 比如開發敏捷性、持續交付、可伸縮性、最終--致性等。微服務架構建議將大型復雜的單體架構應用劃分為一組微小的服務,每個微服務根據其負責的具體業務職責提煉為單一的業務功能;每個服 務可以很容易地部署并發布到生產環境里隔離和獨……