介紹一下Spring Cloud微服務架構
Spring Cloud作為一套微服務治理的框架,幾乎考慮到了微服務治理的方方面面,之前也寫過一些關於Spring Cloud文章,主要偏重各元件的使用,本次分享主要解答這兩個問題:Spring Cloud在微服務的架構中都做了哪些事情?Spring Cloud提供的這些功能對微服務的架構提供了怎樣的便利?
傳統架構發展史
單體架構
單體架構在小微企業比較常見,典型代表就是一個應用、一個資料庫、一個web容器就可以跑起來,比如我們開發的開源軟體雲收藏,就是標準的單體架構。
在兩種情況下可能會選擇單體架構:一是在企業發展的初期,為了保證快速上線,採用此種方案較為簡單靈活;二是傳統企業中垂直度較高,訪問壓力較小的業務。在這種模式下對技術要求較低,方便各層次開發人員接手,也能滿足客戶需求。
下面是單體架構的架構圖:
<img src="" alt="介紹Spring Cloud微服務架構" title="介紹Spring Cloud微服務架構" style="box-sizing:border-box;outline:0px;margin:0px;max-width:100%;word-break:break-all;cursor:zoom-in;padding:0px;list-style:none;" />
在單體架構中,技術選型非常靈活,優先滿足快速上線的要求,也便於快速跟進市場。
垂直架構
在單體架構發展一段時間後,公司的業務模式得到了認可,交易量也慢慢的大起來,這時候有些企業為了應對更大的流量,就會對原有的業務進行拆分,比如說:後臺系統、前端系統、交易系統等。
在這一階段往往會將系統分為不同的層級,每個層級有對應的職責,UI層負責和使用者進行互動、業務邏輯層負責具體的業務功能、資料庫層負責和上層進行資料交換和儲存。
下面是垂直架構的架構圖:
<img src="" alt="介紹Spring Cloud微服務架構" title="介紹Spring Cloud微服務架構" style="box-sizing:border-box;outline:0px;margin:0px;max-width:100%;word-break:break-all;cursor:zoom-in;padding:0px;list-style:none;" />
在這個階段SSH(struts+spring+hibernate)是專案的關鍵技術,Struts負責web層邏輯控制、Spring負責業務層管理Bean、Hibernate負責資料庫操作進行封裝,持久化資料。
服務化架構
如果公司進一步的做大,垂直子系統會變的越來越多,系統和系統之間的呼叫關係呈指數上升的趨勢。在這樣的背景下,很多公司都會考慮服務的SOA化。SOA代表面向服務的架構,將應用程式根據不同的職責劃分為不同的模組,不同的模組直接透過特定的協議和介面進行互動。這樣使整個系統切分成很多單個元件服務來完成請求,當流量過大時透過水平擴充套件相應的元件來支撐,所有的元件透過互動來滿足整體的業務需求。
SOA服務化的優點是,它可以根據需求透過網路對鬆散耦合的粗粒度應用元件進行分散式部署、組合和使用。服務層是SOA的基礎,可以直接被應用呼叫,從而有效控制系統中與軟體代理互動的人為依賴性。
服務化架構是一套松耦合的架構,服務的拆分原則是服務內部高內聚,服務之間低耦合。
下面是服務化架構圖:
<img src="" alt="介紹Spring Cloud微服務架構" title="介紹Spring Cloud微服務架構" style="box-sizing:border-box;outline:0px;margin:0px;max-width:100%;word-break:break-all;cursor:zoom-in;padding:0px;list-style:none;" />
在這個階段可以使用WebService或者dubbo來服務治理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31540763/viewspace-2155648/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- Java架構-(一)spring cloud微服務分散式雲架構 - Spring Cloud簡介Java架構SpringCloud微服務分散式
- Spring Cloud系列(一):微服務架構簡介SpringCloud微服務架構
- (一)spring cloud微服務分散式雲架構 - Spring Cloud簡介SpringCloud微服務分散式架構
- (一)spring cloud微服務分散式雲架構-Spring Cloud簡介SpringCloud微服務分散式架構
- 微服務 Spring cloud 各元件介紹微服務SpringCloud元件
- spring cloud微服務分散式雲架構 - Spring Cloud整合專案簡介SpringCloud微服務分散式架構
- Spring Cloud 微服務架構進階SpringCloud微服務架構
- 微服務架構:Dubbo VS Spring Cloud微服務架構SpringCloud
- spring cloud微服務架構設計SpringCloud微服務架構
- Spring Cloud構建微服務架構-spring cloud服務監控中心SpringCloud微服務架構
- (三)spring cloud微服務分散式雲架構 - Spring Cloud整合專案簡介SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構Spring Cloud ZuulSpringCloud微服務分散式架構Zuul
- spring cloud微服務分散式雲架構-Spring Cloud NetflixSpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Spring Cloud BusSpringCloud微服務分散式架構
- Spring Cloud 微服務架構解決方案SpringCloud微服務架構
- Spring Cloud微服務分散式雲架構—整合專案簡介SpringCloud微服務分散式架構
- Spring Cloud分散式微服務雲架構構建SpringCloud分散式微服務架構
- Spring Cloud構建微服務架構-Hystrix服務降級SpringCloud微服務架構
- Spring Cloud構建微服務架構-服務閘道器SpringCloud微服務架構
- (十六)spring cloud微服務分散式雲架構-整合專案簡介SpringCloud微服務分散式架構
- spring cloud + spring boot + springmvc+mybatis微服務雲架構CloudSpring BootSpringMVCMyBatis微服務架構
- Spring Cloud Spring Boot mybatis分散式微服務雲架構CloudSpring BootMyBatis分散式微服務架構
- spring cloud微服務分散式雲架構-Spring Cloud Config環境庫SpringCloud微服務分散式架構
- spring cloud微服務架構-Eureka保護機制SpringCloud微服務架構
- spring cloud微服務雲架構-用java使用 redlockSpringCloud微服務架構Java
- 一張圖瞭解Spring Cloud微服務架構SpringCloud微服務架構
- 詳解Spring Cloud和Docker的微服務架構SpringCloudDocker微服務架構
- 基於Spring Boot和Spring Cloud實現微服務架構Spring BootCloud微服務架構
- 微服務架構的特徵簡要介紹微服務架構特徵
- Spring Cloud雲服務架構 - 企業分散式微服務雲架構構建SpringCloud架構分散式微服務
- spring cloud springboot mybatis 分散式 微服務 架構原始碼CloudSpring BootMyBatis分散式微服務架構原始碼
- spring cloud微服務分散式雲架構--hystrix的使用SpringCloud微服務分散式架構
- spring cloud微服務分散式雲架構-Gateway入門SpringCloud微服務分散式架構Gateway
- Spring Cloud 微服務架構下的 WebSocket 解決方案SpringCloud微服務架構Web
- spring cloud微服務分散式雲架構-Commons 普通抽象SpringCloud微服務分散式架構抽象
- Spring Cloud 微服務專案實現總架構一SpringCloud微服務架構
- spring cloud + spring boot + springmvc+mybatis分散式微服務雲架構CloudSpring BootSpringMVCMyBatis分散式微服務架構