第 一部分電信行業架構綜述
第 1章認識大像 2
1.1何謂大像 2
1.2電信業務支撐繫統的發展歷程 4
1.2.1“大算盤”時代 6
1.2.2C/S時代 6
1.2.3MVC垂直應用 7
1.2.4SOA服務化 9
1.2.5微服務架構(MSA) 10
1.3電信業務支撐困境 11
1.4電信與電商 13
第 2章讓大像學跳舞 15
2.1大像能跳舞嗎 15
2.2大像的舞臺 15
2.3大像跳舞“四步曲” 16
第二部分構建微服務架構
第3章微服務架構綜述 18
3.1微服務的本質 18
3.1.1什麼是微服務 18
3.1.2微服務架構特點 20
3.1.3SOA與微服務 21
3.2實現微服務架構 22
3.2.1微服務參考架構 23
3.2.2應用的拆分粒度 24
3.2.3微服務的集成 25
3.2.4微服務對交付模式的要求 27
3.2.5實現微服務面臨的挑戰 27
3.3微服務架構的實踐 29
3.3.1建平臺 29
3.3.2業務拆分 34
3.3.3容器化封裝 35
3.3.4完善技術組件,提升穩定性 35
第4章分布式服務框架 37
4.1分布式服務框架的一般原理 37
4.2分布式服務調用框架的實現 39
4.2.1分布式服務框架總體架構 39
4.2.2通信框架 40
4.2.3序列化與反序列化 41
4.2.4客戶端功能實現 42
4.2.5服務端功能實現 45
4.2.6注冊中心 47
4.2.7服務治理 48
4.2.8API網關 51
4.3容量評估與性能保障 53
4.3.1容量評估常用指標 53
4.3.2容量指標估算方法 57
4.3.3性能保障 61
4.3.4如何評價繫統性能 62
4.4一致性問題解決之道 63
4.4.1強一致性事務保障 63
4.4.2最終一致性事務保障 65
4.4.3事務補償機制 66
第5章服務調用鏈日志跟蹤 68
5.1服務調用鏈實現的一般原理 68
5.2實現調用鏈日志跟蹤 71
5.2.1總體架構 71
5.2.2日志數據采集 72
5.2.3日志數據分析處理 77
5.2.4服務調用鏈信息展示 78
5.3調用鏈日志跟蹤的應用 79
5.3.1總體監控 80
5.3.2監控預警 80
5.3.3安全審計 81
5.3.4故障定位及鏈路分析 82
5.4日志繫統的容量和性能評估 82
第6章分布式數據訪問平臺 84
6.1傳統數據庫架構面臨的挑戰 84
6.1.1新業務支撐乏力 84
6.1.2持續的分庫分表難以為繼 85
6.1.3管理上的挑戰 86
6.2數據庫技術發展現狀 86
6.2.1數據庫發展歷史回顧 86
6.2.2 SQL、NoSQL和NewSQL 87
6.2.3運營商去“O”實踐 89
6.2.4數據架構發展方向 90
6.3數據庫選型 91
6.3.1數據庫的技術特性 91
6.3.2數據庫應用特性 92
6.3.3應用特性與技術特性的對應關繫 94
6.3.4數據庫選擇建議 94
6.4實現分布式數據訪問平臺 95
6.4.1分布式應用數據總線 95
6.4.2分庫分表功能實現 96
6.4.3讀寫分離功能實現 97
6.4.4結果集合並功能實現 98
6.4.5數據庫節點路由功能實現 98
6.4.6分布式事務功能保障 99
6.5異地多活數據同步平臺 101
6.5.1異地多活架構設計 102
6.5.2數據同步平臺架構設計 104
第7章消息平臺 114
7.1消息中間件產品介紹 114
7.1.1 ActiveMQ 114
7.1.2 RocketMQ 115
7.1.3 Kafka 116
7.1.4 RabbitMQ 117
7.1.5消息中間件特性對比 118
7.2消息平臺總體架構設計 119
7.3消息控制臺 120
7.3.1配置管理 120
7.3.2監控管理 122
7.3.3運維管理 124
7.3.4繫統管理 126
7.4消息客戶端 127
7.4.1客戶端功能介紹 127
7.4.2客戶端關鍵流程 131
第8章分布式緩存平臺 134
8.1緩存中間件介紹 134
8.1.1Memcached 134
8.1.2Redis 135
8.1.3Coherence 137
8.1.4緩存中間件產品特性對比 137
8.2緩存策略 138
8.2.1熱點緩存 138
8.2.2多級緩存 139
8.3緩存平臺的架構與實現 141
8.3.1總體架構 141
8.3.2緩存管理控制平臺Web 142
8.3.3緩存管理平臺App 146
8.3.4緩存客戶端SDK 148
第三部分構建企業級微服務架構
第9章企業級微服務架構綜述 152
9.1什麼是企業級微服務架構 152
9.2企業級微服務架構必備能力 152
9.2.1自動化軟件交付 153
9.2.2智能化繫統運維 153
9.2.3繫統化業務運營 154
9.3實施企業級微服務架構的前提條件 155
第 10章構建基於容器的應用托管和任務調度平臺 157
10.1容器的發展歷程 157
10.2Docker帶來的改變 159
10.3基於Kubernetets的應用托管平臺 160
10.3.1Kubernetes基本原理 160
10.3.2繫統架構 165
10.3.3底層資源管理 166
10.3.4應用托管管理 167
10.3.5平臺監控 173
10.4彈性任務調度平臺 175
10.4.1總體架構 176
10.4.2任務配置管理 178
10.4.3任務調度管理 180
10.4.4 X86裸機集群任務調度流程 185
10.4.5容器化資源任務調度流程 189
第 11章深化的服務治理體繫 193
11.1服務治理演進歷史 193
11.1.1 SOA服務治理 193
11.1.2分布式服務治理 194
11.1.3深化的服務治理 195
11.2構建“管、診、治”服務治理體繫 196
11.3“管、診、治”總體思路 196
11.3.1服務治理總體架構 198
11.3.2服務資產管理 199
11.3.3服務關繫管理 201
11.3.4服務生命周期管理 204
11.3.5服務監控 205
11.3.6分布式服務調用框架 206
11.3.7輔助工具 206
第 12章DevOps打造軟件生產流水線 208
12.1認識DevOps 208
12.1.1什麼是DevOps 208
12.1.2 DevOps與敏捷 209
12.1.3 DevOps的興起 210
12.2DevOps核心原則 210
12.2.1基礎架構即代碼 210
12.2.2持續交付 211
12.2.3協同工作 212
12.3DevOps的技術棧和工具鏈 212
12.4DevOps平臺解決方案 214
12.4.1軟件生產流水線 214
12.4.2 DevOps平臺架構 215
12.4.3配置管理 217
12.4.4質量保障 221
12.4.5實現軟件生產流水線 228
12.4.6數據度量 231
第四部分打造下一代基礎架構平臺
第 13章多租戶架構 234
13.1多租戶的模型及體繫結構 234
13.2租戶隔離 236
13.3多租戶管理平臺 238
13.3.1管理平臺架構 238
13.3.2多租戶管理平臺的實現原理 239
13.3.3多租戶的訪問控制 240
13.3.4多租戶的安全訪問 241
第 14章能力開放平臺 243
14.1總體設計 243
14.2能力開放門戶 245
14.2.1開發者視圖 245
14.2.2運營者視圖 248
14.3沙箱環境 249
14.4安全管控 250
14.4.1 IP黑白名單校驗 250
14.4.2流量配額控制 251
14.4.3服務升降級控制 253
14.4.4熔斷控制 254
14.4.5流量控制 254
14.4.6傳輸安全控制 255
14.4.7用戶授權 257
14.5服務管控 264
14.5.1服務注冊 264
14.5.2服務編排與封裝 265
14.5.3服務參數匹配 266
14.5.4服務路由 267
第 15章智能運維 269
15.1大數據技術概述 269
15.1.1大數據技術特點 270
15.1.2大數據技術的未來發展 272
15.1.3大數據與人工智能 273
15.1.4大數據與智能運維 273
15.2智能運維平臺架構設計 274
15.3智能運維整體流程 275
15.4智能化運維場景分析 276
15.5深度學習應用舉例 278
15.5.1原理分析 278
15.5.2關鍵技術介紹 282
結束語 284