內容簡介
《軟體平台架構設計與技術管理之道》分為兩部分。第1部分包括5章50節,通過主題短文,在思想底蘊與思維認知、平台頂層架構與核心能力、技術管理與分析決策方面,給讀者提供豐富的工作錦囊,綜合提升讀者的技術掌控力和布道力,精進方法論,使讀者能快速成為一個通識全貌型人才,從容自如地駕馭中大型軟體平台方方面面的技術工作。第2部分包括3章,提供20餘幅技術方案圖和架構設計的工作示意圖,以及常用工作檯賬示例,幫助讀者進一步精通圖形化表達方法,提升技術設計呈現能力。 《軟體平台架構設計與技術管理之道》不僅適合工作於一線的技術總監、架構師和中高級技術人員閱讀,對致力於IT諮詢和布道師崗位的讀者,以及擴展知識面、爭取持續提升的IT項目管理人員、質量管理人員,同樣可以從中受益,大獲技能包,增強軟實力,
圖書目錄
第1部分 技術負責人的工作錦囊
第1章 良好認知,成功鑰匙 ···········································································2
1.1 為技術負責人畫像 ····················3
1.2 技術分工細化之殤 ····················5
1.3 決策是平衡與取捨的藝術 ···········8
1.3.1 沒有完美答案 ·························8
1.3.2 記錄決策理由 ·························9
1.3.3 掌握行業方法 ·······················10
1.4 會有第五代架構嗎 ··················12
1.4.1 前四代架構的精髓 ·················12
1.4.2 深諳架構職業特性 ·················13
1.4.3 預測五代無意義 ····················15
1.5 簡潔開明的領導風格 ···············16
1.5.1 透明求真和溝通互動 ··············16
1.5.2 領會無為而治 ·······················19
1.6 平台思維和情緒管理 ···············21
1.6.1 項目制vs平台型 ···················21
1.6.2 不要憤世嫉俗 ·······················23
1.6.3 去除地盤意識 ·······················23
1.7 提升架構設計嚴謹性 ···············26
1.7.1 架構設計思維原則與模式 ········26
1.7.2 過程增強與工具運用 ··············29
1.8 問題並非出在技術上 ···············33
1.8.1 貴在積極對話 ·······················33
1.8.2 方法論勝負手 ·······················34
1.9 精明贏得公司匯報 ··················36
1.9.1 關注真正的重點 ····················37
1.9.2 亮出點看家本事 ····················37
1.9.3 研發管理上得分 ····················38
1.10 別指望每個人都認可架構 ········39
1.10.1 問題客觀存在 ······················39
1.10.2 不合理的使用 ······················40
1.10.3 尋找可行之路 ······················42
1.11 一點規劃勝過多次補救 ···········43
1.12 掌握稟賦,正確用人 ··············46
第2章 萃取精華,駕馭主題 ·········································································48
2.1 起個響亮的名稱代號 ···············49
2.1.1 代號的價值 ··························49
2.1.2 輕鬆的時刻 ··························50
2.2 通用一致的專業術語 ···············52
2.2.1 非模糊語言 ··························52
2.2.2 廣學活用行話 ·······················53
2.3 制定全景路徑 ························56
2.3.1 模式形態分析 ·······················57
2.3.2 單元實現方式 ·······················58
2.3.3 繪製路線圖 ··························59
2.4 聚焦邊界抓主脈 ·····················60
2.5 合理運用架構模式 ··················63
2.5.1 必須學以致用 ·······················63
2.5.2 謹防過度設計 ·······················64
2.6 立起架構,遞增部署 ···············66
2.7 打造數據堡壘 ························68
2.7.1 資料庫的發展歷程 ·················68
2.7.2 數據模型不可變 ····················69
2.7.3 數據資產重於一切 ·················70
2.8 有無兜底方式 ························71
2.8.1 學會使用補償 ·······················71
2.8.2 其他兜底方式 ·······················72
2.9 運行、維護保鮮 ·····················74
2.9.1 掌握運行水位線 ····················75
2.9.2 進行定期演練 ·······················76
2.9.3 平台運維手冊 ·······················77
2.10 技術白皮書 ··························80
2.11 再來幾條技術錦囊 ·················82
2.11.1 別把快速當成敏捷 ················82
2.11.2 用多少時間做架構 ················83
2.11.3 關注模型與代碼融合 ·············84
2.11.4 避免成為殭屍系統 ················85
2.11.5 向結構性失衡宣戰 ················85
第3章平台視角,頂層設計 ·········································································90
3.1 分層總體架構 ························91
3.2 互動關係設計 ························95
3.2.1 互動流程設計 ·······················95
3.2.2 系統邏輯關係設計 ·················97
3.3 數據架構設計 ························98
3.3.1 業務視角設計 ·······················99
3.3.2 技術視角設計 ······················100
3.4 工程技術架構 ·······················102
3.5 流量分布設計 ·······················105
3.6 套用部署設計 ·······················108
3.6.1 板塊劃分 ····························108
3.6.2 各類網關 ····························109
3.6.3 板塊內套用系統 ···················110
3.6.4 中間件及公共資源 ················110
3.7 系統通信設計 ·······················111
3.7.1 通信網路及服務 ···················111
3.7.2 系統間通信技術(IPC) ·········112
3.7.3 連線埠及回響碼 ······················116
3.8 套用安全架構 ·······················118
3.8.1 企業安全框架 ······················118
3.8.2 套用安全三面觀 ···················119
3.8.3 移動套用安全設計 ················120
3.9 日誌體系設計 ·······················124
3.9.1 日誌分層分類 ······················125
3.9.2 聚合與使用 ·························126
目錄XIX
第4章核心能力,全景覆蓋 ·······································································128
4.1 高可用體系設計 ····················129
4.1.1 範疇及相互關係 ···················129
4.1.2 冗餘機制的設計 ···················131
4.1.3 防禦降級設計 ······················133
4.1.4 發布保障 ····························136
4.2 套用高性能設計 ····················139
4.2.1 前端開發領域 ······················140
4.2.2 後端開發領域 ······················141
4.2.3 數據與資料庫 ······················143
4.2.4 非數據類對象 ······················144
4.2.5 設計與選型 ·························145
4.3 監控報警體系 ·······················147
4.4 可用率和容量衡量 ·················150
4.4.1 服務可用率衡量 ···················150
4.4.2 平台容量衡量 ······················152
4.5 並發性能衡量 ·······················155
4.5.1 QPS和TPS·························155
4.5.2 性能衡量方法 ······················157
4.6 容災模式設計 ·······················160
4.7 分散式之無狀態 ····················164
4.8 分散式之事務 ·······················167
4.9 分散式之鎖 ··························171
第5章精進管理,磨練團隊 ·······································································174
5.1 分配好團隊體力 ····················175
5.2 立體化指標體系 ····················178
5.3 保持張力應對變化 ·················181
5.3.1 變化無處不在 ······················181
5.3.2 償還技術債務 ······················183
5.4 抓評審立基石 ·······················184
5.4.1 精進技術 ····························184
5.4.2 帶入問題 ····························186
5.4.3 管理抓手 ····························187
5.5 流程及質量卡口 ····················188
5.5.1 務必保持好陣型 ···················188
5.5.2 質量關口前移 ······················191
5.5.3 與開發相互融合 ···················192
5.6 交付效能評估 ·······················194
5.6.1 選擇合適指標 ······················195
5.6.2 做成加分項 ·························196
5.7 堅守文檔底線 ·······················198
5.7.1 精簡是必然趨勢 ···················198
5.7.2 兩文檔不可裁剪 ···················199
5.7.3 對編寫水平把關 ···················200
5.8 揪出那幾類故障 ····················202
5.8.1 仔細認真地對待 ···················202
5.8.2 故障的2/8定律 ····················203
5.9 還有哪些管理妙計 ·················205
5.9.1 經得起三問 ·························205
5.9.2 洞察緩慢混亂 ······················206
5.9.3 一切都不在掌控中 ················207
5.9.4 應變轉型與變革 ···················207
第2部分技術圖表材料實戰解碼
第6章簡潔方案,直達問題域 ····································································210
6.1 中心間運行關係 ····················211
6.2 對賬處理邏輯 ·······················213
6.3 系統環境遷移 ·······················215
6.4 適配新老客戶 ·······················217
6.5 參與方間關係 ·······················219
6.6 系統通信關係 ·······················221
6.7 全局路線圖 ··························223
6.7.1 瀑布式風格 ·························223
6.7.2 疊代式風格 ·························224
第7章架構設計,超強表現力 ····································································226
7.1 分層架構示意圖 ····················227
7.1.1 偏重中台和技術棧 ················227
7.1.2 偏重業務系統域 ···················228
7.2 套用安全示意圖 ····················230
7.3 互動流程設計示意圖 ··············232
7.3.1 經典泳道風格 ······················232
7.3.2 立體圖風格 ·························235
7.4 系統邏輯關係示意圖 ··············236
7.4.1 立體圖風格 ·························236
7.4.2 分層次風格 ·························238
7.5 套用系統部署示意圖 ··············239
7.6 數據架構設計示意圖 ··············241
7.6.1 偏重數據處理關係 ················241
7.6.2 偏重於分區關係 ···················242
7.7 系統功能框架示意圖 ··············244
7.7.1 功能地圖型 ·························244
7.7.2 功能與互動混合型 ················246
第8章積累復用,多走捷徑 ·······································································247
8.1 技術評審檢查點 ····················248
8.1.1 前端領域 ····························248
8.1.2 後端領域 ····························251
8.2 上線與運行事件台賬 ··············254
8.2.1 版本上線台賬 ······················254
8.2.2 運行事件台賬 ······················256
參考文獻 ··································································································258
致謝 ········································································································259
後記這是富有意義的嘗試 ··········································································261
讓無形的道躍然紙上 ··············261
一份追求與一絲期望 ··············263