摘要
系統設計(System Design)問題已經是許多大廠面試的必經環節,要求面試者展示對系統廣泛而深刻的理解,但有個很大的問題在於:「許多公司永遠都不可能達到這樣的規模,進而從這種複雜性中受益」,此時這些模式和技術都是危險的,會拖垮專案進度並大幅增加維護成本,也使開發者的心智負擔成倍地增加。
作者舉了兩個電子商務常用的架構,一個是傳統的單體式架構(Monolith),一者則是將前述架構拆解為微服務(Microservice)架構,隨著架構的變更,關鍵元件數量大幅提升,導致越難執行統一標準,也引入了更多問題:網路延遲、複雜介面、多個程式語言。對絕大多數的公司而言,複雜的架構並不是最好的起點。