SpringCloud學習--網站架構演變過程

網站架構演變過程:

傳統架構-->分佈式架構-->SOA架構(面向服務架構)-->微服務架構redis

傳統架構(單點應用,即傳統的SSM項目或者SSH項目)

適用場景:

適合一我的或者小團隊進行開發。sql

缺 點:

(1)代碼的耦合度過高,一旦一個模塊不可用可能致使整個系統沒法提供服務,會影響 到其它的模塊的正常使用。數據庫

(2)在協做開發時容易發生代碼衝突,而且開發任務很差分配,不適合多人進行開發。json

分佈式架構

特色:

(1)分佈式架構師基於傳統架構演變而來的,以項目粒度進行劃分,將傳統項目拆分紅n多個子項目(打包的時候會產生多個war包或者能夠說有多個jvm進行通訊),每一個項目中都有本身獨立的服務器環境,如獨立的Mysql、Redis。服務器

(2)與傳統架構的區別:項目粒度更加細,更適合於互聯網公司進行開發,代碼耦合度大大下降了。架構

注意點:

(1)服務與項目的概念:mvc

服務: 將共同的業務邏輯進行拆分,拆分紅一個獨立的項目進行部署,只包含了業務邏輯層,沒有視圖層。jvm

項目: 包含業務邏輯層和視圖層,項目包含前臺項目和後臺項目。分佈式

(2)聚合項目不必定是分佈式架構微服務

解釋: 能夠將傳統的項目分爲mvc三層,可是他們最終只會打包成一個jar包。可是當互聯網公司以聚合項目方式進行開發不一樣模塊的時候,它也至關於分佈式架構。

SOA架構

特色:

(1)SOA也是基於分佈式架構演變而來的,SOA架構表明面向服務架構,俗稱服務化,能夠理解爲面向業務邏輯層,將共同的業務代碼抽取出來,提供給其餘接口進行調用。服務與服務之間使用rpc遠程調用技術。

(2)(SOAP簡單獨享協議是HTTP+XML混合物)底層基於SOAP或者ESB(消息總線)實現,底層使用HTTP或者HTTPS協議+重量級的XML數據交換格式(在微服務中會替換成更加輕量級的json進行數據交換)。

微服務架構

微服務架構產生的緣由:

(1)SOA架構依賴和中心化服務發現機制

(2)由於SOAP中使用的XML報文中含有很是大的冗餘數據,因此在微服務中會以json格式進行替代

(3)SOA架構服務管理很是混亂,缺乏服務管理和治理設施不完善。

特色:

(1)微服務架構從SOA架構演變過來,比SOA架構上粒度更加進行精細。讓專業的人 作專業的事情(更加專一),目的是爲了提升效率。每一個服務與服務之間互不影響,每一個服務必須獨立部署(獨立數據庫、獨立redis等),微服務架構更加體現輕量級,採用resttful風格提供API,也就是使用Http協議+JSON格式進行傳輸,更加輕巧,更加適合於互聯網公司敏捷開發、 快速迭代產品。

相關文章
相關標籤/搜索