1. 程式人生 > >服務化與微服務(轉)

服務化與微服務(轉)

依賴關系 比較 耦合 接口 服務化 獨立 之間 bsp 服務架構

1 . 互聯網架構為什麽要做服務化?

1)架構痛點

架構痛點一:代碼到處拷貝

架構痛點二:復雜性擴散,例如:各個業務線都需要關註緩存的引入導致的復雜性

架構痛點三:庫的復用與耦合

架構痛點四:各個業務SQL質量得不到保障,業務相互影響

架構痛點五:瘋狂的DB耦合

2)服務化的優點

好處一:調用方爽

好處二:復用性,防止代碼拷貝

好處三:專註性,屏蔽底層復雜度

好處四:SQL

質量得到保障

好處五:數據庫解耦

好處六:提供有限接口,無限性能

2. 微服務架構多“微”才合適?

粒度粗細的優劣

上文中談到的服務化與微服務,不同粒度的服務化各有什麽優劣呢?

總的來說,細粒度拆分的優點有:

(1)服務都能夠獨立部署

(2)擴容和縮容方便,有利於提高資源利用率

(3)拆得越細,耦合相對會減小

(4)拆得越細,容錯相對會更好,一個服務出問題不影響其他服務

(5)擴展性更好

(6)…

細粒度拆分的不足也很明顯:

(1)拆得越細,系統越復雜

(2)系統之間的依賴關系也更復雜

(3)運維復雜度提升

(4)監控更加復雜

(5)出問題時定位問題更難

(6)…

個人覺得,以“子業務系統”粒度作為微服務的單位是比較合適

3.

服務化與微服務(轉)