微服務演進史


服務化架構的演進歷史

Dubbo官網上的一張圖

 

   1 單體應用架構

部署到一個war里

部署到一個web容器里(如tomcat)

公用一個DB

 

優點:

容易測試

容易部署

 

缺點:

開發效率低

代碼維護難

部署不靈活(如構建時間特別長,如任意小的修改,需要重新構建整個項目)

穩定性不高(如任一一個小問題,可能讓你整個系統掛掉)

擴展性不夠(如購物場景,商品服務和訂單服務,瀏覽的人比下單的人多,商品服務的流量會大一點。如果是微服務,商品服務部署10台,訂單服務部署5台)

 

如下圖架構圖:

 

2、MVC(垂直應用架構體系)

主要解決前后端、界面、控制邏輯和業務邏輯的分層問題。

比較流行的技術棧SSM,SSH等。

解決了單一架構面臨的擴容問題,流量可以分散到各個子系統中,且體積可控,提高了開發效率。

缺點:垂直應用越來越多,應用間的相互交互,相互調用已無法避免,不同系統之間存在重疊的業務。

 

3、RPC

隨着業務發展,業務規模的擴大,模塊化逐步成為一種趨勢。此時解決模塊之間遠程調用的RPC應用而生。

缺點: RPC本身不負責服務化。例如自動發現不管,服務的應用和發布不管、服務運維和治理不管。

 

4、SOA

為了解決垂直應用架構重復造輪子,提取出來作為單獨的系統對外提供服務,形成業務之間的相互重用,這是SOA就出現了。(面向服務的體系價架構)

SOA服務化架構,企業級資產重用和異構系統間的集成對接。

SOA架構的現狀

在傳統企業IT領域,主要是解決異構系統之間的互通和粗粒度的標准化(WebService)

互聯網領域,提供一套高效支撐應用快速迭代的服務化架構。例如各個互聯網公司自研或者開源的分布式架構

如下圖架構圖:

 

5、微服務

微服務是一種架構風格,旨在通過將功能分解到各個離散的服務中以實現對解決方案的解耦。

特征如下:

1)小,且只干一件事情

2)獨立部署和生命周期管理

3)異構性

4)輕量級通信。RPC或者Restful

如下圖架構圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM