微服務架構設計實踐系列之一 序言

2021-08-18 08:07:49 字數 1837 閱讀 4167

微服務架構設計實踐

目    次

1 序言

2 微服務

3 軟體架構設計思想

4 微服務架構設計實踐

4.1 專案概述

4.2 架構準備階段

4.3 概念架構階段

4.4 細化架構階段

4.4.1 業務架構

4.4.2 資料架構

4.4.3 應用架構

4.4.4 技術架構

4.4.5 物理架構

4.4.6 開發架構

1  序言

最近,在軟體架構設計領域,微服務非常火。

一提到軟體開發、架構設計,如果不提微服務,不說說微服務的架構風格,那就落伍了,out了。

當然了,支援微服務的技術也是層出不窮,如微服務1.0中比較有名的來自spring家族的spring cloud,以及國內在開源領域的翹楚阿里系中的dubbo。其中,spring cloud提供了完整的微服務解決方案,為開發者提供了快速構建分布式系統的通用模型的工具,包括配置管理、服務發現、熔斷器、智慧型路由、微**、控制匯流排、一次性令牌、全域性鎖、領導選舉、分布式會話、集群狀態等。而dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及服務治理方案。

隨著微服務的持續火熱,微服務2.0中的servicemesh也火起來了。service mesh,即「服務網格」,作為服務間通訊的基礎設施層,service mesh可以被看作是微服務間的tcp/ip,負責服務之間的網路呼叫、限流、熔斷和監控。對於編寫服務的開發人員來說,一般無須關心tcp/ip這一層(比如通過 http 協議的 restful 應用),同樣使用service mesh也就無須關心服務之間的那些原來是通過應用程式或者其他框架實現的事情,比如spring cloud、oss,現在只要交給service mesh就可以了。

其實,上述說了那麼多,介紹了那麼多,基本都是集中在概念層面,在理論的層次上,以及支援微服務的開發技術、開發框架上,缺少這些概念、理論、技術和框架在實際專案中具體地應用。

對於大多數開發人員、架構師來說,除了理解微服務相關的概念,熟悉微服務相關的技術和框架,更關心如何在實際的專案中,應用這些概念、技術和框架。而這些,正是現在所欠缺的。

筆者從事軟體開發多年,參與和指導過多個專案的架構設計,經歷過單體架構、分布式架構、soa架構,對軟體架構的發展歷史有一定的了解。

同時,在架構設計過程中,筆者也拜讀了多位架構大師的著作,如溫昱老師的《軟體架構設計》、《一級架構師》,peter eeles和peter cripps的《軟體架構設計的過程》等,以及各位技術大咖們在網際網路上分享的各類架構相關的文件,使我受益匪淺。在此,我衷心的對這些前輩們表示由衷的感謝,謝謝你們對於知識的分享,以及無私奉獻的精神。

最近,筆者有幸參與了某銀行的乙個採用微服務架構風格的專案,實踐了一下微服務架構。

更確切地說,該專案是分布式服務架構向微服務架構的演進,使用更細粒度的服務和一組設計準則來考慮大規模的、複雜的系統架構設計,並非乙個純粹的微服務架構風格的專案。

秉著知識共享的精神,筆者寫了這篇「微服務架構設計實踐」的文章,一方面是對自己在架構設計方面的乙個階段性總結,另一方面是希望給其他剛剛從事軟體架構設計的人員乙個真實的、具體的軟體架構過程的實踐參考,為他們提供乙個完整的實踐案例。

在寫這篇文章的過程中,在介紹微服務、軟體架構設計思想的概念、方**時,引用了各位大師、技術大咖們關於微服務、架構設計的文章中的內容,在此衷心地表示感謝。對於引用的內容,筆者並非簡單地摘抄,而是結合筆者的理解和實踐,做了適當的調整。如果存在不適、錯誤的地方,希望各位及時地指出,我將積極的採納和修改。

微服務架構設計實踐系列之三 軟體架構設計思想

微服務架構設計實踐 目 次 1 序言 2 微服務 3 軟體架構設計思想 4 微服務架構設計實踐 4.1 專案概述 4.2 架構準備階段 4.3 概念架構階段 4.4 細化架構階段 4.4.1 業務架構 4.4.2 資料架構 4.4.3 應用架構 4.4.4 技術架構 4.4.5 物理架構 4.4.6...

微服務軟體架構設計

在軟體內部經過綜合各種因素考量 權衡,選擇特定的技術,將系統劃分為不同的部分並使用這些部分相互分工,彼此協作,為使用者提供需要的價值 軟體架構進化考慮的因素 傳統架構 單體架構 概念優勢 挑戰微服務架構 定義使用一套小服務來開發單個應用的方式,每個服務執行在單獨的程序,一般採用輕量級的通訊機制互聯,...

微服務架構設計模式綜述

隨著微服務的大量應用,在實踐中也會遇到很多之前單體架構所沒有的問題,微服務架構設計模式也應運而生。架構方面的權威chris richardson先生從多個角度歸納了42個設計模式,我將其歸納整理如下表,以饗讀者。後面會陸續出關於微服務架構設計模式的文章,更加深入的闡述richardson先生關於微服...