聊聊单体应用的 4 点不良影响,第 4 点很痛很真实
0. 概述
單體應用有優點也有缺點,而所有缺點基本上都是一個原因導致的。
功能模塊都耦合在一起了。
不同功能堆在一起了,會引發各種各樣的問題,下面說一下自己體驗過的單體應用的痛。
1. 系統穩定性很不可控
目前公司有一個舊的后端應用,里面保羅萬物,有訂單、商品、支付、庫存、定時任務、MQ,還有各種管理功能,在今年九月份的時候,其中一個模塊出現了內存泄漏,最后導致了操作系統級別的oom killer,整個系統不可用了,而恰巧當時正在跑一個重要的且不支持冪等的批量指派任務,由于被強制停掉了,直接影響數據在前端的展現,且又不支持重新跑數據,運營人員直接就發飆了:怎么回事。后面研發只能邊挨罵邊修復數據,苦b的很。
單體應用耦合的模塊多了,容易造成功能相互影響,真是躺著也中槍。
2. 發布時間真的好長
單體應用耦合的模塊多了,也會導致應用啟動時間變長,像之前的一個內部應用,啟動時間是2分多鐘,且有10臺機器,使用原始的滾動發布方式,線上發布完后要20分鐘,非常漫長;而對于測試人員來說,在測試環境里,經常要驗證bug是否修復好了,經常性的要發布應用,每次都要等很久,真是苦不堪言,極大的降低了測試效率。
另外,發布時間長,對于CI來說,也是災難。
3. 分支問題
當一個周期里,有多個功能要上線的時候,研發這邊會基于主干分支拉出各個功能分支,這里會出現幾個問題:
-
各個功能分支合并到主干分支的時候,容易出沖突,除了處理沖突需要時間外,還容易處理出錯,導致代碼被覆蓋,很容易造成線上故障;
-
如果公司摳門,出于成本考慮,只有一臺dev機器用于開發聯調,這個時候只能使用另外一個叫dev_all分支,所有功能分支的代碼都統一合并到dev_all分支,開發人員一多,又是各種合并問題,導致開發環境不穩定,前端開發每次都因為這個,屌后臺研發。
4. 會嚇跑新人的
對于新手來說,看到了一坨龐大的代碼,真心是無從下手,你讓他接手或者干點活啥的,成本都賊高的,且容易犯錯。對于有代碼情操的人,是會立刻走人的。對于暫時忍受的了人,心理陰影也會逐漸加大,外面有啥風吹草動的,也會走人的。
總結
以上是生活随笔為你收集整理的聊聊单体应用的 4 点不良影响,第 4 点很痛很真实的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离职10天,面挂4家公司!
- 下一篇: 六种微服务架构的设计模式