1. 程式人生 > >圖解微服務架構演進

圖解微服務架構演進

前言

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

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

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

服務化架構演進

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

那什麼是微服務架構呢?
先從第一個圖中第一個說起吧。

1.orm – 單一應用架構

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

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

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

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

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

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

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

此時則就需要提高業務的複用及整合的分散式rpc框架,例如dubbo等。

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

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

然後,提到關鍵的 --

5.微服務架構

問:什麼是微服務架構?

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

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

image

小結

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

問啊-定製化IT教育平臺,牛人一對一服務,有問必答,開發程式設計社交頭條 官方網站:www.wenaaa.com 下載問啊APP,參與官方懸賞,賺百元現金。

QQ群290551701 聚集很多網際網路精英,技術總監,架構師,專案經理!開源技術研究,歡迎業內人士,大牛及新手有志於從事IT行業人員進入!