在軟體工程界,「全面推倒重寫」往往是技術團隊最渴望、卻也是對企業經營風險最高的決定。當系統乘載著龐大的日常交易與歷史累積的邊界規則時,從零開始開發的新系統極難在預定時限內完全覆蓋所有邊界條件,最終演變成新舊系統雙雙延宕、預算超支的災難。
「絞殺者榕樹模式」(Strangler Fig Pattern)借鑒了熱帶雨林中植物沿著老樹生長、最終逐漸取代老樹的自然現象。應用在軟體架構升級上,指的是在新舊系統交界處建置攔截層(如 API Gateway 或 Proxy),將新功能直接建構於現代化架構中,並循序漸進地將舊系統的特定業務端點逐一遷移至新模組。
成功的絞殺者策略依賴三個關鍵元件:第一是透明的流量路由機制。呼叫端無須感知後端是舊單體還是新模組,所有的請求均由邊界閘道依照版本與路徑分流。
第二是健壯的防腐層(Anti-Corruption Layer, ACL)。新模組使用乾淨的領域模型設計,透過防腐層將舊系統的混亂資料結構轉譯為新模型,避免舊架構的技術債污染新代碼。
第三是影子流量與雙寫校驗(Shadow Traffic & Dual Run)。在正式切換流量前,讓真實請求同時發送至新舊兩端,並在背景自動比對兩者的處理結果與耗時。唯有在連續數週比對完全一致時,才正式切換主要流量。
透過這種小步漸進的方式,企業每一季都能看到具體模組的現代化成果,投資回報清晰可見,同時將系統崩潰的營運風險降至最低。
顧問
林晉宇 / 首席架構顧問
Cloud Streamcore Advisory 資深架構顧問群成員。專注於協助台灣企業化解軟體歷史包袱,落實穩健可行的代碼重構與架構升級。