大話架構思維——從經典到前沿
由維昭
商品描述
"本書共9章36節,以作者學習與從業經歷所跨越的四個時期為線索,內容主要包括初識編程與軟件 架構的歷程、軟件生產力與生產關系的革命、軟件架構領域的定理及定律、架構管理全景結構解析、 五大軟件架構設計的驅動方式、技術決策的六大特定關切、大型復雜系統的韌性之道,以及智能原生 時代的技術思考。 本書以人為本、以史為鑒,內容直擊架構設計與技術決策的底層邏輯與規律,面對當下並展望未 來,提出了眾多具有普適性價值的技術觀點,以抽象性、批判性的思考和對話方式,演繹了一套鮮活 的架構思維體系。本書內容豐富,圖文並茂,語言通俗易懂,不僅極具知識性、科普性,而且兼顧趣 味性、故事性和實踐性。本書力求通過分享思維與思想,進行有意義的思辨,無形中傳遞領域智慧, 幫助讀者提高架構設計與技術決策能力,增強綜合能力的底蘊和專業素養,在軟件行業立足、扎根, 並獲得長遠發展。 本書適合資深的軟件開發人員,以及想提高架構設計水平的產品經理、架構師閱讀參考。"
作者簡介
由維昭,清華大學2002級軟件工程專業,碩士研究生。 在中信集團旗下企業工作逾13年,現就職於金保信社保卡科技有限公司,任技術總監。銀行、因特網、電子商務、社會保險等領域系統建設經歷豐富,具備覆雜平臺頂層架構設計以及海量並發性能實戰能力;擅長聯機交易及數據處理,掌握分佈式架構、開源技術棧;技術開發、運維及安全等工作板塊有多年的管理經驗。
目錄大綱
目 錄
序 章
——以時代為線,與思想為伴
0.1 四個時期和四方面趨勢 1
0.2 軟件架構的多面性本質 6
第1章
溫故知新,舉目千里
——初識編程與軟件架構的歷程
1.1 強者搖籃,編程的文藝復興時代 12
1.1.1 Java語言,更像是弱者的游戲 12
1.1.2 多樣性和原生力,我輩之差距 17
1.2 改弦更張,以模式引領架構之舞 20
1.2.1 三個話題,初識架構 20
1.2.2 設計模式,席捲天下 23
1.3 不甘平庸,非天才也要當決策者 26
1.3.1 書呆子難以逾越的鴻溝 26
1.3.2 在電腦大世界里淘金 29
1.4 烏合之眾,敏捷更像是職場把戲 32
1.4.1 小團隊作戰的魅力 32
1.4.2 技術管理的真與假 34
第2章
黃金年代,風馳電掣
——軟件生產力和生產關系的革命
2.1 開源製造,軟件行業生產力的徹底釋放 39
2.1.1 以GitHub見證開源之道 39
2.1.2 是樂高積木,還是組織器官 41
2.1.3 是自力更生,還是拿來即用 43
2.2 平臺模式,軟件行業格局的劃分確立 45
2.2.1 連接客戶重於生產製造 45
2.2.2 平臺的核心交易與功能 47
2.3 篤行致遠,企業軟件架構的縱橫跨越 50
2.3.1 內外隔離與服務治理並進 50
2.3.2 系統控制與應用邏輯分離 53
2.3.3 前後分離與數據架構破繭 56
2.3.4 糟粕與精華交替相伴而生 60
第3章
先行利器,無堅不摧
——重要定理和定律的價值
3.1 基本論點,別輸在起跑線 66
3.1.1 從4方面認知軟件系統 66
3.1.2 技術債務與架構適應度 71
3.1.3 架構與系統故障相關度 73
3.2 10大定律,厚積才能薄發 77
3.2.1 跨越學科,亦堪當大用 77
3.2.2 土生土長,更應當如數家珍 81
3.3 反模式,不良方法的警示 86
3.3.1 10個技術類反模式,一板一眼 86
3.3.2 11個管理類反模式,更顯高超 89
3.4 項目管理,輕裝上陣為佳 93
3.4.1 難以突破固有本能之限 93
3.4.2 倡導極簡化的管理原則 95
第4章
提綱挈領,一覽無餘
——架構管理全景結構解析
4.1 架構管理的全景地圖 99
4.2 架構活動的主體—人 102
4.2.1 設計思維的原則與模式 102
4.2.2 設計者的理念和策略 105
4.2.3 設計所需的軟環境 108
4.3 過程利器及工具運用 110
4.3.1 架構設計過程利器 110
4.3.2 架構工作的工具箱 112
4.4 架構工作的基本活動 116
4.5 驅動方式及特定關切 120
4.5.1 架構設計的驅動方式 120
4.5.2 技術決策的特定關切 124
第5章
舉足輕重,力敵千鈞
——五大架構設計驅動方式
5.1 面向視圖(或主題)的設計(VOD) 129
5.1.1 最為通用的設計方式 129
5.1.2 面向7大主題設計簡析 132
5.2 質量驅動設計(ADD) 145
5.2.1 質量特徵及趨勢演變 145
5.2.2 4大質量屬性設計簡析 149
5.2.3 適用強技術特徵系統 165
5.3 基於風格與模式的設計(PBD) 171
5.3.1 參定式的決策方式 171
5.3.2 16種架構風格簡析 174
5.3.3 正本清源的微服務 184
5.4 領域驅動設計(DDD) 187
5.4.1 DDD的戰略和戰術設計 187
5.4.2 以業務模型為設計核心 192
5.4.3 6種限界上下文間的關系 196
5.5 風險驅動設計(RDD) 199
5.5.1 更顯主觀性的設計策略 199
5.5.2 因地制宜才能恰如其分 204
第6章
抽絲剝繭,使命必達
——技術決策的六大特定關切
6.1 技術約束,設計的導軌槽 208
6.2 解決方案,架構的溫度計 211
6.3 領域特徵,架構的方向盤 216
6.4 兜底方式,設計的保險絲 220
6.5 顆粒度,設計的萬能魔法 225
6.6 應用場景,決策的勝負手 231
第7章
混沌工程,完美拼圖
——大型復雜系統的韌性之道
7.1 接受復雜性,擁抱混沌 237
7.1.1 技術社會是個好詞兒 237
7.1.2 深刻理解軟件的復雜性 238
7.1.3 與混沌問題友好相處 242
7.2 與眾不同的魅力所在 243
7.2.1 完整閉環的最後一塊拼圖 243
7.2.2 以實驗之名再次探索系統 245
7.2.3 發現隱患,對抗系統熵增 247
7.2.4 目標場景,無所不盡其極 249
7.2.5 核心方法,一招鮮吃遍天 251
7.2.6 最佳實踐,要做就要做好 254
7.2.7 實際工作中的思考和感悟 256
第8章
前沿科技,生生不息
——智能原生時代的技術思考
8.1 硅碳之爭,樂觀看待機遇與挑戰 259
8.1.1 將解放生產力進行到底 259
8.1.2 應如何評判科技的發展 262
8.2 綠色計算,無服務架構實至名歸 267
8.2.1 主流Serverless框架簡析 267
8.2.2 新一代雲計算的默認範式 271
8.3 隱私計算,數據與安全渾然一體 275
8.3.1 數據流通基石 275
8.3.2 隱私計算算法 279
8.3.3 主流框架簡析 288
8.4 通用智能,語言大模型步入凡塵 291
8.4.1 1個程序和1個參數文件 291
8.4.2 自然語言模型的發展歷程 296
8.4.3 大模型註意力機制簡析 298
8.4.4 算力平臺與業務流架構 300
8.4.5 大模型應用的邏輯架構 302
8.5 量子技術,撲朔迷離中砥礪前行 308
8.5.1 量子計算與通信 308
8.5.2 量子算法的威力 311
8.5.3 量子安全與應用 313
8.5.4 談量子編程語言 316
後 記
——又一次富有意義的嘗試
大話為形,思維為神 317
筆耕不輟,終見南山 320