《SpringCloud 從入門到入土 》 第一章:基礎知識

什麼是微服務架構?

簡單地說,微服務是系統架構上的一種設計風格,它的風格主旨是將一個獨立的系統拆分成多個小型服務,也就是服務組件化,這些小型服務都在個自獨立的進程中運行,並且每個服務都維護着自身的數據存儲、業務開發、自動化測試案例以及獨立部署機制。服務之間通過基於HTTP的RESTful API進行通信協作、調用。由於有了輕量級的通信協作基礎,所以這些微服務甚至可使用不同的語言來編寫。

與單體系統的差別?

在以往的企業系統架構中,我們針對一個複雜的業務需求通常使用對象或業務類型構建一個單體應用。項目初期,業務相對簡單,開發、部署、測試都比較容易,但是隨着業務的深入,我們需要增加不同的模塊來支撐複雜的業務體系,單體應用因此變得越來越臃腫,單體應用的弊端就顯現出來,往往我們修改了一個很簡單的功能,爲了部署上線,可能會影響到其他功能的正常運行。並且對於這些模塊的使用場景,併發量、消耗的資源都各不相同,對於資源的利用又相互影響,這樣使我們對各個業務模塊的系統容量很難給出一個較爲準確的評估。

爲了解決單體應用的弊端,我們提出微服務架構,我們將系統中不同功能模塊拆分成多個不同的服務,這些服務都能夠獨立部署和擴展,每個服務都有穩固的邊界。單體應用中一個服務掛掉,整個服務都gg了,而微服務架構中,A掛了,B是不受影響的,這大大提升了整體系統的容錯機制

但是隨着微服務的增多,服務的部署的維護將成爲一項很重要的工作,這無疑也會增加運維成員的的工作難度。

雖說每個服務都是獨立的,但難免服務之間會產生業務交叉,會相互調用,並不是完全解耦合的。

最後一點由於拆分的微服務過多,分佈式環境問題將是微服務架構設計時需要考慮的重要因素,比如網絡延遲、分佈式事務、異步消息等。

 

爲什麼選擇SpringCloud?

微服務江湖發展的初期,涌現出了一大批豪傑:

 

可以看到國內外技術公司分享的主要以理論或是一個粗略的框架爲主,很難找到一個完全相同的、一站式的全家桶解決方案。

 

 直到SprignCloud出現,它是一個解決微服務架構的綜合性解決框架,它整合了諸多被廣泛實踐和證明過的框架作爲實施的基礎部件又在該基礎之上創建了一些非常優秀的邊緣組件。

 

SpringCloud簡介

SprignCloud是一個基於SpringBoot實現的微服務架構開發工具。它爲微服務架構中涉及的配置管理、服務治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分佈式會話和集羣狀態管理等操作提供了一種簡單的開發方式。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章