圖解微服務架構演進

圖解服務化架構演進

前言

來自dubbo的用戶手冊中的一句話:
隨着互聯網的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分佈式服務架構以及流動計算架構勢在必行,亟需一個治理系統確保架構有條不紊的演進。

常規的垂直應用架構就相當於傳統的那種,現階段傳統垂直架構改造的核心就是對應用做服務化改造,服務話改造使用的核心技術架構就是分佈式服務框架。

其實這篇是概念上的總結,技術概念軟文,紀錄此文讓自己更明白什麼是微服務化架構。

服務化架構演進

請看下圖,也來自dubbo的用戶手冊,圖中恰恰少了微服務架構的圖。
image

那什麼是微服務架構呢?

先從第一個圖中第一個說起吧。

1.orm – 單一應用架構

我認爲是一個高內聚版本,所有功能部署在一起。數據訪問框架(orm)成爲關鍵。這個架構很少被人使用,幾乎接近滅絕了吧。

優點:成本低,適合功能少又簡單 缺點:很多,比如無法適應高流量,二次開發難,部署成本高

2.mvc架構 - 垂直應用架構

當訪問量漸漸增大,慢慢演化成用的很多的mvc架構。雖然還是所有的功能都是部署在同一個進程中,但是可以通過雙機或者前置負載均衡來實現負載分流。這樣應用也可以拆分成不同的幾個應用,以提升性能和效率。

此時,mvc架構用於分離前後端邏輯。一方面,有一定的模塊化。另一方面,加速和方便了開發。

3.rpc架構 - 分佈式服務架構

當mvc垂直應用分成不同應用時,越來越多的情況下。不可避免的事應用a與應用b之間的交互。此時將核心和公共的 業務功能抽出來,作爲單獨的服務,並實現前後端邏輯分離。

此時則就需要提高業務的複用及整合的分佈式rpc框架。

4.soa架構 - 流動計算架構

當rpc架構中的服務越來越多時,服務的生命週期的管控,容量的評估等各種問題會出現,使服務化成爲瓶頸。需要增加一個調度中心來進行對服務管控,監督等。

然後,提到關鍵的 --

5.微服務架構

問:什麼是微服務架構?

答:它就是將功能分散到各個離散的服務中然後實現對方案的解耦。服務更原子,自治更小,然後高密度部署服務。

下面是對微服務架構的圖解:

image

小結

伴隨敏捷開發,持續交付,DevOps,Docker等高速發展,微服務必然是未來演進方向。加油~ 多瞭解吧。


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