《微服務設計》閱讀筆記(二)演化式架構師
《微服務設計》,Building Microservices,作者Sam Newman,譯者崔力強、張駿,人民郵電出版社,2016年。
筆記中有些內容直接引用原書。
================================================================
第二章 演化式架構師
軟體行業中的架構師和建築行業中的建築師在英文中都是architect一詞,架構師這個概念應該也是從建築業借用過來的,但兩個角色不能簡單類比。建築師面臨的物理規律和需求都是確定性的,而軟體的架構師沒有堅實的物理規律可以依靠,更要面對可能不斷變化的需求,因此想要依靠設計大量圖表和文檔創建一個如同盧浮宮金字塔一樣完美的軟體系統方案,是難以奏效的。
與其比作建築師,比作城市規劃師可能會貼切一些。城市規劃師規劃城市中不同區域的功能(生活區、工業區、辦公區等),而並不去對單個樓做規劃設計。城市會不斷變化和改造,但大部分時候區域功能是不變的。同樣,架構師應對用戶的需求變更, 應該是做一個允許變化的計劃,而不是對未來的變化進行預測,因為對未來的預測常常會失敗。要允許變化,就不能做出過於詳盡的設計。架構師不僅要考慮終端用戶,也要將開發人員和運維人員作為系統的用戶,他們也是參與者。Frank Buschmann說:架構師的職責之一就是保證該系統適合開發人員在其上工作。
BrianZhang:《微服務設計》閱讀筆記(一)微服務BrianZhang:《微服務設計》閱讀筆記(三)如何建模服務BrianZhang:《微服務設計》閱讀筆記(四)集成BrianZhang:《微服務設計》閱讀筆記(五)分解單塊系統BrianZhang:《微服務設計》閱讀筆記(六)部署BrianZhang:《微服務設計》閱讀筆記(七)測試BrianZhang:《微服務設計》閱讀筆記(八) 監控BrianZhang:《微服務設計》閱讀筆記(九)安全BrianZhang:《微服務設計》閱讀筆記(十)康威定律和系統設計BrianZhang:《微服務設計》閱讀筆記(十一)規模化微服務BrianZhang:《微服務設計》閱讀筆記(十二完結篇)總結軟體開發之路
推薦閱讀:
※《Cloud Native Go》筆記(十一)使用WebSockets
※「演講復盤」技術沙龍(滬江網4月) - 我所遇見的微服務演進這十年
※《Cloud Native Go》筆記(十五)結論
※《Cloud Native Go》筆記(五)在Go中構建微服務
※微服務落地第三課-Spring Cloud Config Client搭建