構建微服務架構的系統方法

2021-09-26 01:47:55 字數 1297 閱讀 9178

構建微服務架構所需要做的不僅僅是構建服務本身。乙個微服務系統的構建過程代表的是一種組織級別的活動,包括組織的人員架構、研發過程、技術體系和協作文化等多個因素。同樣,微服務的執行時環境、錯誤處理機制和運維實踐也是我們需要考慮的內容。本文中我們將針對如何構建微服務架構給出一套完整的系統方法。

下圖給出了構建微服務架構的系統方法,這套系統方法有助於把所需要做的工作進行分解並形成切入點。我們可以看到整個系統方法包括服務模型、實現技術、基礎設施和研發過程等四個方面內容。

服務建模是實現微服務架構的第一步,因為微服務架構與soa、esb等現有技術體系的本質區別就是其服務的粒度和服務本身的面向業務和元件化特性。針對服務建模,我們首先需要明確服務的類別以及服務與業務之間的關係,從而明確服務的概念模型並給出服務的統一表現形式。同時,我們也需要借助於諸如領域驅動設計中的界限上下文和領域事件等技術合理劃分微服務的邊界,並剝離微服務與資料之間的耦合。服務模型建立最主要的工作是服務的拆分和整合。服務拆分需要考慮拆分的維度、策略並管理服務之間的依賴關係、資料以及邊界。而服務的整合則需要考慮在輕量級服務通訊的要求下所應當採用的技術實現方式。

微服務的實現技術是構建微服務架構的重點。微服務架構具有分布式架構的基本特徵,所以網路通訊、事件驅動、服務路由、負載均衡、配置管理等因素同樣是實現微服務架構的基礎。另一方面,我們也需要考慮微服務架構實現上的一些關鍵要素,包括服務治理、資料一致性和服務可靠性等內容。最後,通過技術選型,我們將明確構建微服務的具體實現工具和框架。

基礎設施包括微服務架構的管理體系,包括服務的測試、服務的部署和服務的監控和服務安全性等主要內容。我們的主要目標在於闡述微服務的設計和架構,但這些基礎設施仍然是微服務架構整張藍圖的重要組成部分。

關於微服務架構構建過程中所涉及的關於業務結構、組織架構和研發文化等方面的內容。這些內容構成了開發團隊的整體研發過程,討論組織架構和軟體開發的關係、構建跨職能團隊、強調引入變化和敏捷思想有助於更好的落實微服務架構。

基於以上所闡述的關於微服務架構構建的系統方法,我們還將討論如何使用微服務架構進行遺留系統改造的方法和實踐。通過梳理現有架構的改造技術,明確向微服務架構的轉型方法,我們嘗試並探尋微服務實施的最佳實踐。向微服務架構轉型是目前很多團隊所面臨的乙個選擇,我們也將在後續的文章中闡述相應的轉型方法,希望給這些團隊提供乙個有價值的參考。

我出版了《系統架構設計:程式設計師向架構師轉型之路》、《向技術管理者轉型:軟體開發人員跨越行業、技術、管理的轉型思維與實踐》、《微服務設計原理與架構》、《微服務架構實戰》等書籍,並翻譯有《深入rabbitmq》和《spring5響應式程式設計實戰》,歡迎交流

微服務系統架構

微服務是一種架構風格,乙個大型複雜的軟體應用由乙個或多個微服務組成。每個微服務僅關注與完成一件任務,且可以被獨立部署。微服務的特點 語言無關性 獨立程序通訊 高度解耦 彈性伸縮,易擴充套件 1 服務註冊與發現 2 健康檢查 3 分布式配置,key value儲存 4 分布式一致性協議實現 5 多資料...

微服務與微服務架構

微服務 微服務強調的是服務的大小,它關注的是某乙個點,是具體解決某乙個問題 提供落地對應服務的乙個服務應用,狹意的看,可以看作eclipse裡面的乙個個微服務工程 或者module。例如 訂單服務 支付服務 微服務架構 馬丁.福勒 martin fowler 微服務架構介紹 微服務架構是 種架構模式...

微服務架構

一 先了解一下什麼是單體應用 就是乙個應用程式包含了所有模組功能,各模組同時部署。當然這種應用模式比較容易部署 測試,但隨著專案的加大,單體模式就會變得越來越臃腫,維護的成本逐漸變高。當乙個模組出錯,整個應用都會出現問題,擴充套件能力也會受到限制。二 什麼是微服務 是將整個應用程式分解為多個模組,各...