Part I: Pulling Things Apart#
本書的第一部分聚焦於如何將單體式架構(monolithic architecture)拆解為分散式架構。首先從分析軟體架構中的耦合(coupling)出發,定義了 architecture quantum 的概念,幫助架構師識別靜態與動態耦合的邊界。接著探討架構模組化(architectural modularity)的驅動因素,包括可維護性、可測試性、可部署性、可擴展性與容錯能力,並說明如何建立拆分系統的商業論據。在確立拆分的必要性後,本部分介紹兩種主要的架構分解方法——基於元件的分解(component-based decomposition)與戰術分叉(tactical forking),並透過程式碼結構的量化指標協助判斷程式碼庫是否適合分解。後續章節將深入各分解模式的細節、資料庫與資料的分離策略,以及服務粒度的權衡取捨。