@目錄
- 什么是微服務
- 單體系統
- 1、專案過于臃腫
- 2、資源難以隔離
- 3、擴展瓶頸模塊受限
- 微服務
- 1、獨立部署、靈活擴展
- 2、資源隔離
- 1、架構設計復雜
- 2、 管理復雜
- 單體系統
什么是微服務
今天簡單了解一下微服務,在看微服務前,先了解一下傳統的單機系統,
單體系統
所有的業務子模塊都集中在一個系統中,優點是便于管理,但是規模變大的時候,缺點就很明顯了,

缺點:
1、專案過于臃腫
當產品規模越來越大,各種的大大小小模塊都塞在一個專案中,必然會使整個專案變的臃腫,讓開發者難以維護,
2、資源難以隔離
系統的各個功能模塊都依賴于同樣的資料庫、記憶體等資源、一旦某個功能模塊對資源處理不當,即可能影響整個系統,
3、擴展瓶頸模塊受限
當系統的訪問量越來越大的時候,單體系統可以進行水平擴展,部署多臺機器,

但是這種擴展并不靈活,假如我們的性能瓶頸在支付上,只希望對支付模塊進行水平擴展,單體系統是無法做到的,
微服務
微服務,是近年來流行起來的一種架構思想,將單個的應用拆分成一套小型服務,每種應用都是一個獨立的行程,通過輕量級機制(通常為http資源api)進行通信,
這些服務圍繞業務功能構建,由于行程的獨立性,這些小型服務可以使用不同的編程語言、資料存盤技術,
微服務的優點
1、獨立部署、靈活擴展
單體架構是以整個系統作為單位部署,而微服務則可以作為一個獨立的組件單獨部署,
舉個例子,我們都知道每年雙11的爆發訪問量,而且基本會集中在凌晨,
那么假如系統瓶頸在于支付模塊,需要300臺機器,其次是訂單只需要200臺,用戶只需要100臺機器,那么我們采用微服務的話就可以進行如下部署,同時docker的流行,也為微服務器提供了有效的容器,

2、資源隔離
微服務的一個重要設計原則就是每一個微服務擁有獨立的資料源,假如訂單服務想讀取用戶服務的資料庫,那么只能通過操作用戶服務的介面完成,
同時,docker容器也做好了資源的有效隔離,

相比于傳統架構,微服務架構更強調的是系統按業務邊界做細粒度的拆分和部署,
那么微服務架構有哪些缺點呢:
1、架構設計復雜
微服務需要把原有的系統拆分成多個獨立工程,同時需要保證不同服務之間的資料一致性,引入了分布式事務和異步補償機制,大大增加了設計和開發的難度,
2、 管理復雜
微服務拆分過細可能會出現添加一個小功能需要改動好幾個工程的情況,隨著服務數量的增加,管理的復雜性也會隨之增加,
所以說架構設計沒有什么絕對的,主要還是看場景,如果不在大廠的話,一般很難遇到復雜的微服務架構吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/32432.html
標籤:架構設計
