系统拆分粒度
系統拆分粒度
https://copyfuture.com/blogs-details/201910291948235480dyaua5tzwp25mk
在什么情況下要進行系統拆分,為什么需要拆分在本篇就不進行說明了。
拆分系統,帶來的基本性問題就是,拆分到什么粒度是最合適的?
這個問題沒有標準答案,也很難不根據具體的場景來回答一個通用的答案。
當然,一個系統要拆分的好,一般是認為系統拆分之后,每個模塊或者組件之間的粒度標準需要滿足一個原則,也就是高內聚,低耦合。
高內聚是指模塊內的功能和邏輯是緊密聯系在一起的,低耦合是指模塊之間的關聯性很小。例如:
將系統劃分為10個模塊,一般情況下修改其中的一個模塊幾乎不會影響到其他的9個模塊,這時候我們可以說系統是低耦合的。同理,每個模塊內的功能和邏輯都圍繞這一個核心業務流程,很難繼續拆解成兩個獨立系統,我們就可以說系統是高內聚的。
粒度粗細的優劣
總的來說,細粒度拆分的優點有:
(1)服務都能夠獨立部署
(2)擴容和縮容方便,有利于提高資源利用率
(3)拆得越細,耦合相對會減小
(4)拆得越細,容錯相對會更好,一個服務出問題不影響其他服務
(5)擴展性更好
(6)…
細粒度拆分的不足也很明顯:
(1)拆得越細,系統越復雜
(2)系統之間的依賴關系也更復雜
(3)運維復雜度提升
(4)監控更加復雜
(5)出問題時定位問題更難
(6)…
系統按照合適的粒度拆分成不同模塊的過程,一般稱之為模塊化。模塊化也是軟件工程化的基礎。只有在這個基礎上才能實現團隊合理的分工合作
一個好的系統,從拆分開始
總結
- 上一篇: 常用三角公式、变形及图形
- 下一篇: LTK5135M MSOP-8封装 耐压