昨天我們提到了龐大專案,以及一些讓他難以維護的技巧。
當我們隨著專案開發,不希望一個專案變成一個難以維護的龐大專案,有時會嘗試拆分成幾個小專案,來組合出我們要的功能。
這種方式可以讓單一專案的功能變少,有可能會變得更好維護。不過我們細心注意一些地方的話,還是可以讓這個專案難以維護的。
既然這些專案相關的功能是同一系列,我們可以不要費心區分,把相關的資料直接放在一個資料庫共用。
這樣一來,所有有關資料結構的更動就要同時修改多個專案,對之後維護的工程來說,一定會是個充滿收穫的挑戰。
多個專案組合的服務,自然而然的,每個功能都可能要接觸多個服務。
如果我們不特別監控每個服務的狀態,那麼其中一個服務失效的時候,要找出到底是哪個服務失效可是非常困難。
這可以讓之後維護的工程花不少的時間,試圖在一堆專案裡面找到要修改的專案。
假設我們將專案的監控處理好了,可是我們沒有做好服務的自動重啟機制,那麼即使維護的工程很快的找到出錯的專案,他也沒法很快的解決線上問題。
在一堆專案裡面,任一專案出錯的機率是以專案的個數呈指數成長。要是任何一個專案出錯都要花幾天重新啟動,那維護小組基本就會天天在處理重啟服務,可以改名叫天啟小組了。