第1 篇 架構方法論
1 有關架構的概念認知 2
1.1 引言 2
1.2 認識架構 2
1.3 規劃、架構與設計 4
1.3.1 三個不同層次的概念 4
1.3.2 規劃與架構 4
1.3.3 架構與設計 5
1.4 解耦與服務化 6
1.5 分工與組件化 6
1.6 集中與分布 7
1.7 規劃還是演化 8
1.8 簡化也很必要 9
1.9 架構與軟件開發(軟件過程) 11
1.9.1 敏捷軟件開發 11
1.9.2 敏捷軟件開發與微服務架構 12
1.10 探討傳統企業IT 係統架構 12
1.10.1 從架構角度解決企業應用痛點 13
1.10.2 企業應用係統架構服務化遷移步驟 13
1.10.3 企業應用係統架構服務化參考模型 14
1.11 總結 15
2 以終為始的架構設計 16
2.1 緣起 16
2.2 我們的思考方式 17
2.3 為什麼要做架構設計 18
2.3.1 由模型到實施 18
2.3.2 業務規模發展帶來的復雜度 19
2.3.3 從溝通視角看軟件架構 20
2.4 如何做架構設計 20
2.4.1 以終為始,不忘初心 21
2.4.2 PMC 框架 21
2.4.3 從多視角、多層次看架構 23
2.4.4 滿足利益相關者的需要 25
2.4.5 聚焦SLA 26
2.4.6 抽象、協作、擴展、復用 28
2.4.7 分析全息視圖 29
2.5 架構是什麼 29
2.5.1 架構兼具組成和決策的特點 30
2.5.2 架構是演進來的 30
2.5.3 無純粹的非功能特性 31
2.6 總結 32
3 閉環架構方法 34
3.1 係統提升的一般性方法和反饋環 34
3.2 産品創新閉環 36
3.3 組織閉環 37
3.4 研發流程閉環 39
3.5 係統架構閉環 40
3.6 一個反饋閉環實例 41
3.7 總結 44
4 復雜與架構演進的關係 46
4.1 什麼是復雜 46
4.1.1 規模 47
4.1.2 結構 51
4.1.3 變化 58
4.2 用架構思維控製復雜 67
4.2.1 分而治之,控製規模 67
4.2.2 保持架構的清晰與一緻 67
4.2.3 擁抱變化 70
4.3 總結 71
5 架構師的核心能力 72
5.1 架構師承擔的職責 72
5.2 架構師的核心能力 73
5.2.1 經驗 73
5.2.2 溝通 74
5.2.3 快速學習 74
5.2.4 解決問題的能力 76
5.3 架構能力的修煉 76
5.4 總結 77
第2 篇 麵嚮架構的架構(微服務)
6 快速繼承微服務實踐 80
6.1 概述 80
6.2 我們希望的微服務是什麼樣子的 81
6.3 實現微服務 82
6.4 實現的考量及調研 83
6.4.1 gRPC 有什麼問題 83
6.4.2 如何提高易用性 83
6.5 讓微服務快速落地 87
6.6 總結 89
7 微服務架構下的事務處理 90
7.1 概述 90
7.2 使用傳統的本地事務和分布式事務保證一緻性 90
7.3 在微服務架構中應滿足數據最終一緻性原則 92
7.4 微服務架構實現最終一緻性的三種模式 92
7.4.1 可靠事件模式 93
7.4.2 業務補償模式 101
7.4.3 TCC(Try-Confirm-Cancel)模式 106
7.5 總結 109
8 微服務架構模式與實踐 110
8.1 微服務的主要架構模式 110
8.1.1 一體化模式 110
8.1.2 聚閤模式 110
8.1.3 代理模式 111
8.1.4 資源共享模式 112
8.1.5 異步消息模式 112
8.2 大量微服務帶來的挑戰 112
8.3 微服務在好雨的解決方案 113
8.3.1 服務發現和注冊 113
8.3.2 彈性伸縮與負載均衡 115
8.3.3 容錯處理(斷路器與限流) 116
8.3.4 監控與報警 116
8.3.5 數據存儲與共享 116
8.3.6 日誌分析 117
8.4 總結 118
9 微服務與DevOps 架構實踐 119
9.1 概述 119
9.2 某金融創業公司的微服務架構選型 122
9.3 設計思想 124
9.4 總體架構 125
9.4.1 總體架構的特性 125
9.4.2 具體實現 126
9.5 對微服務的支撐 128
9.6 DevOps 平颱總體架構 130
9.7 麵嚮微服務的研發團隊介紹 131
9.8 總結 133
10 基於雲的微服務架構 134
10.1 概述 134
10.2 德比軟件數據對接平颱的架構 134
10.3 德比軟件微服務架構基礎設施 135
10.4 API 網關 136
10.5 服務框架 136
10.5.1 高可用RPC 137
10.5.2 服務依賴管理 138
10.6 基礎服務 140
10.6.1 配置中心 140
10.6.2 安全數據服務 141
10.6.3 數據存儲服務 141
10.6.4 訂單服務 142
10.7 服務降級 142
10.8 自動化 142
10.9 日誌處理 143
10.10 調用鏈追蹤 144
10.11 服務健康狀態 144
10.11.1 報警 144
10.11.2 監控 145
10.12 發布管理 146
10.13 總結 147
11 Service Fabric:平颱架構解析 148
11.1 Service Fabric 概述 148
11.1.1 Service Fabric 的特點 148
11.1.2 Service Fabric 的適用場景 149
11.2 Service Fabric 編程模式 150
11.3 Service Fabric 服務通信 152
11.3.1 Service Fabric 的微服務開發工具 153
11.3.2 對Service Fabric 的微服務進行監控和診斷 153
11.4 Service Fabric 可靠服務概述 154
11.4.1 Service Fabric 可靠服務——有狀態服務的體係結構 154
11.4.2 Service Fabric 可靠服務——無狀態服務的體係結構 156
11.4.3 Service Fabric 可靠服務——備份 157
11.5 Service Fabric 可靠執行組件 157
11.6 Service Fabric 容器應用程序 159
11.7 總結 160
第3 篇 麵嚮業務的架構
12 如何搭建高可伸縮的移動電商架構 162
12.1 概述微服務的主要架構模式 162
12.2 移動端的混閤架構 162
12.3 服務器端的SOA 架構 164
12.4 PC 端和移動端的開發協作管理 166
12.5 基於容器的虛擬化 166
12.6 關於電商的私有雲建設 167
12.7 如何應用彈性雲來應對電商大促 169
12.8 應對電商大促峰值的“獨孤九劍” 170
13 消費信貸係統“白付美”是如何持續優化的 172
13.1 “白付美”介紹 172
13.2 “白付美”從0 到1 172
13.3 大促期間的性能保證 174
13.4 大促期間的穩定性保證 177
13.5 為服務多平颱所做的優化 178
13.6 未來的優化方嚮 179
13.7 總結 180
14 美麗聯閤集團支付係統架構演進 182
14.1 概述 182
14.2 支付係統1.0 182
14.2.1 業務問題 183
14.2.2 係統問題 184
14.2.3 資金問題 185
14.3 支付係統2.0 185
14.3.1 拆分係統邊界 185
14.3.2 支付係統2.0 係統詳解 187
14.3.3 統一平颱業務上下文 192
14.3.4 直麵數據一緻性挑戰 192
14.4 性能提升 194
14.5 穩定性提升 201
14.5.1 監控先行 201
14.5.2 分離核心鏈路 201
14.5.3 服務依賴梳理 203
14.5.4 限流降級 203
14.6 壓測 204
14.7 成效 204
14.7.1 業務支撐能力 204
14.7.2 係統服務能力 205
14.8 總結 206
15 金融撮閤架構 207
15.1 概述 207
15.2 係統總體設計 208
15.2.1 係統核心模塊 208
15.2.2 撮閤算法設計 209
15.2.3 基於內存撮閤 212
15.2.4 災備的多機設計 212
15.2.5 狀態機復製 213
15.2.6 係統架構 215
15.3 總結 218
第4 篇 麵嚮性能的架構
16 一綫架構師帶你玩性能優化 220
16.1 什麼是係統優化 220
16.2 係統優化的方法論、思路和原則 220
16.2.1 常用方法論 221
16.2.2 優化思路 221
16.2.3 優化原則 222
16.3 性能優化 222
16.3.1 常見的性能問題 222
16.3.2 性能優化的具體工作 223
16.3.3 JVM 優化 230
16.3.4 數據庫優化 233
16.3.5 負載均衡優化 235
16.4 總結 237
17 性能優化的常見模式及趨勢 238
17.1 性能優化的優缺點 238
17.2 性能優化的兩種模式 239
17.3 單應用優化 239
17.3.1 優化的基本思路 239
17.3.2 確定性能瓶頸/熱點的常見方法 240
17.3.3 壓測時通常觀察的內容及其所使用的工具 240
17.3.4 常見的優化手段及模式 240
17.4 結構型優化 241
17.5 兩個結構型優化的案例 245
17.5.1 處理單點/網絡瓶頸的可行方式 245
17.5.2 處理數據庫連接池瓶頸的可行手段 245
17.6 總結 247
18 性能優化之幾種常見的壓測模型及其優缺點 248
18.1 壓測模型抽象 248
18.1.1 壓測環境準備 249
18.1.2 壓測任務準備 249
18.1.3 壓測執行閉環 249
18.2 綫下壓測模型 250
18.3 綫上引流壓測模型 251
18.4 綫上全鏈路壓測模型 252
18.5 總結 253
19 緩存為王——無綫緩存架構優化 254
19.1 無綫緩存的定義、限製條件及影響 254
19.2 無綫緩存要從全局考慮 254
19.2.1 服務器端架構對無綫緩存的影響 254
19.2.2 無綫緩存對服務器端架構的影響 255
19.2.3 大流量下無綫緩存作用的劣化 256
19.2.4 無綫緩存與本機移動端組件的關係 256
19.2.5 無綫緩存存儲介質的選擇 257
19.3 數據、資源緩存及失效策略 257
19.3.1 架構詳論 257
19.3.2 實現失效策略 259
19.4 總結 263
· · · · · · (
收起)