iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
1
Mobile Development

如何用 Laravel 撰寫難以維護的專案系列 第 21

[Day 21] 難以維護的組合式架構

  • 分享至 

  • xImage
  •  

昨天我們提到了龐大專案,以及一些讓他難以維護的技巧。

當我們隨著專案開發,不希望一個專案變成一個難以維護的龐大專案,有時會嘗試拆分成幾個小專案,來組合出我們要的功能。

這種方式可以讓單一專案的功能變少,有可能會變得更好維護。不過我們細心注意一些地方的話,還是可以讓這個專案難以維護的。

共用資料庫

既然這些專案相關的功能是同一系列,我們可以不要費心區分,把相關的資料直接放在一個資料庫共用。

這樣一來,所有有關資料結構的更動就要同時修改多個專案,對之後維護的工程來說,一定會是個充滿收穫的挑戰。

不做監控

多個專案組合的服務,自然而然的,每個功能都可能要接觸多個服務。

如果我們不特別監控每個服務的狀態,那麼其中一個服務失效的時候,要找出到底是哪個服務失效可是非常困難。

這可以讓之後維護的工程花不少的時間,試圖在一堆專案裡面找到要修改的專案。

沒有 CI/CD

假設我們將專案的監控處理好了,可是我們沒有做好服務的自動重啟機制,那麼即使維護的工程很快的找到出錯的專案,他也沒法很快的解決線上問題。

在一堆專案裡面,任一專案出錯的機率是以專案的個數呈指數成長。要是任何一個專案出錯都要花幾天重新啟動,那維護小組基本就會天天在處理重啟服務,可以改名叫天啟小組了。


上一篇
[Day 20] 難以維護的 Laravel monolith 架構
下一篇
[Day 22] 如何寫出難以維護的技術文件
系列文
如何用 Laravel 撰寫難以維護的專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言