第 一部分電信行業(yè)架構綜述
第 1章認識大象 2
1.1何謂大象 2
1.2電信業(yè)務支撐系統(tǒng)的發(fā)展歷程 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電信業(yè)務支撐困境 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實現(xiàn)微服務架構 22
3.2.1微服務參考架構 23
3.2.2應用的拆分粒度 24
3.2.3微服務的集成 25
3.2.4微服務對交付模式的要求 27
3.2.5實現(xiàn)微服務面臨的挑戰(zhàn) 27
3.3微服務架構的實踐 29
3.3.1建平臺 29
3.3.2業(yè)務拆分 34
3.3.3容器化封裝 35
3.3.4完善技術組件,提升穩(wěn)定性 35
第4章分布式服務框架 37
4.1分布式服務框架的一般原理 37
4.2分布式服務調用框架的實現(xiàn) 39
4.2.1分布式服務框架總體架構 39
4.2.2通信框架 40
4.2.3序列化與反序列化 41
4.2.4客戶端功能實現(xiàn) 42
4.2.5服務端功能實現(xiàn) 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如何評價系統(tǒng)性能 62
4.4一致性問題解決之道 63
4.4.1強一致性事務保障 63
4.4.2最終一致性事務保障 65
4.4.3事務補償機制 66
第5章服務調用鏈日志跟蹤 68
5.1服務調用鏈實現(xiàn)的一般原理 68
5.2實現(xiàn)調用鏈日志跟蹤 71
5.2.1總體架構 71
5.2.2日志數(shù)據(jù)采集 72
5.2.3日志數(shù)據(jù)分析處理 77
5.2.4服務調用鏈信息展示 78
5.3調用鏈日志跟蹤的應用 79
5.3.1總體監(jiān)控 80
5.3.2監(jiān)控預警 80
5.3.3安全審計 81
5.3.4故障定位及鏈路分析 82
5.4日志系統(tǒng)的容量和性能評估 82
第6章分布式數(shù)據(jù)訪問平臺 84
6.1傳統(tǒng)數(shù)據(jù)庫架構面臨的挑戰(zhàn) 84
6.1.1新業(yè)務支撐乏力 84
6.1.2持續(xù)的分庫分表難以為繼 85
6.1.3管理上的挑戰(zhàn) 86
6.2數(shù)據(jù)庫技術發(fā)展現(xiàn)狀 86
6.2.1數(shù)據(jù)庫發(fā)展歷史回顧 86
6.2.2 SQL、NoSQL和NewSQL 87
6.2.3運營商去“O”實踐 89
6.2.4數(shù)據(jù)架構發(fā)展方向 90
6.3數(shù)據(jù)庫選型 91
6.3.1數(shù)據(jù)庫的技術特性 91
6.3.2數(shù)據(jù)庫應用特性 92
6.3.3應用特性與技術特性的對應關系 94
6.3.4數(shù)據(jù)庫選擇建議 94
6.4實現(xiàn)分布式數(shù)據(jù)訪問平臺 95
6.4.1分布式應用數(shù)據(jù)總線 95
6.4.2分庫分表功能實現(xiàn) 96
6.4.3讀寫分離功能實現(xiàn) 97
6.4.4結果集合并功能實現(xiàn) 98
6.4.5數(shù)據(jù)庫節(jié)點路由功能實現(xiàn) 98
6.4.6分布式事務功能保障 99
6.5異地多活數(shù)據(jù)同步平臺 101
6.5.1異地多活架構設計 102
6.5.2數(shù)據(jù)同步平臺架構設計 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監(jiān)控管理 122
7.3.3運維管理 124
7.3.4系統(tǒng)管理 126
7.4消息客戶端 127
7.4.1客戶端功能介紹 127
7.4.2客戶端關鍵流程 131
第8章分布式緩存平臺 134
8.1 緩存中間件介紹 134
8.1.1 Memcached 134
8.1.2 Redis 135
8.1.3Coherence 137
8.1.4緩存中間件產品特性對比 137
8.2緩存策略 138
8.2.1熱點緩存 138
8.2.2多級緩存 139
8.3緩存平臺的架構與實現(xiàn) 141
8.3.1總體架構 141
8.3.2緩存管理控制平臺Web 142
8.3.3緩存管理平臺App 146
8.3.4緩存客戶端SDK 148
第三部分構建企業(yè)級微服務架構
第9章企業(yè)級微服務架構綜述 152
9.1 什么是企業(yè)級微服務架構 152
9.2 企業(yè)級微服務架構必備能力 152
9.2.1自動化軟件交付 153
9.2.2智能化系統(tǒng)運維 153
9.2.3系統(tǒng)化業(yè)務運營 154
9.3實施企業(yè)級微服務架構的前提條件 155
第 10章構建基于容器的應用托管和任務調度平臺 157
10.1容器的發(fā)展歷程 157
10.2Docker帶來的改變 159
10.3基于Kubernetets的應用托管平臺 160
10.3.1Kubernetes基本原理 160
10.3.2系統(tǒng)架構 165
10.3.3底層資源管理 166
10.3.4應用托管管理 167
10.3.5平臺監(jiān)控 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服務監(jiān)控 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持續(xù)交付 211
12.2.3協(xié)同工作 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實現(xiàn)軟件生產流水線 228
12.4.6數(shù)據(jù)度量 231
第四部分打造下一代基礎架構平臺
第 13章多租戶架構 234
13.1多租戶的模型及體系結構 234
13.2租戶隔離 236
13.3多租戶管理平臺 238
13.3.1管理平臺架構 238
13.3.2多租戶管理平臺的實現(xiàn)原理 239
13.3.3多租戶的訪問控制 240
13.3.4多租戶的安全訪問 241
第 14章能力開放平臺 243
14.1總體設計 243
14.2能力開放門戶 245
14.2.1開發(fā)者視圖 245
14.2.2運營者視圖 248
14.3沙箱環(huán)境 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服務參數(shù)匹配 266
14.5.4服務路由 267
第 15章智能運維 269
15.1大數(shù)據(jù)技術概述 269
15.1.1大數(shù)據(jù)技術特點 270
15.1.2大數(shù)據(jù)技術的未來發(fā)展 272
15.1.3大數(shù)據(jù)與人工智能 273
15.1.4大數(shù)據(jù)與智能運維 273
15.2智能運維平臺架構設計 274
15.3智能運維整體流程 275
15.4智能化運維場景分析 276
15.5深度學習應用舉例 278
15.5.1原理分析 278
15.5.2關鍵技術介紹 282
結束語 284