1 . 互聯網架構為什么要做服務化?
1)架構痛點
架構痛點一:代碼到處拷貝
架構痛點二:復雜性擴散,例如:各個業務線都需要關注緩存的引入導致的復雜性
架構痛點三:庫的復用與耦合
架構痛點四:各個業務SQL質量得不到保障,業務相互影響
架構痛點五:瘋狂的DB耦合
2)服務化的優點
好處一:調用方爽
好處二:復用性,防止代碼拷貝
好處三:專注性,屏蔽底層復雜度
好處四:SQL質量得到保障
好處五:數據庫解耦
好處六:提供有限接口,無限性能
2. 微服務架構多“微”才合適?
粒度粗細的優劣
上文中談到的服務化與微服務,不同粒度的服務化各有什么優劣呢?
總的來說,細粒度拆分的優點有:
(1)服務都能夠獨立部署
(2)擴容和縮容方便,有利於提高資源利用率
(3)拆得越細,耦合相對會減小
(4)拆得越細,容錯相對會更好,一個服務出問題不影響其他服務
(5)擴展性更好
(6)…
細粒度拆分的不足也很明顯:
(1)拆得越細,系統越復雜
(2)系統之間的依賴關系也更復雜
(3)運維復雜度提升
(4)監控更加復雜
(5)出問題時定位問題更難
(6)…
個人覺得,以“子業務系統”粒度作為微服務的單位是比較合適的
3.