第1 章 攜程整體技術架構 001
1.1 攜程技術架構概覽 003
1.1.1 分層架構 003
1.1.2 接入層技術 005
1.1.3 後端技術 006
1.1.4 技術保障 007
1.2 攜程整體技術架構演進 008
1.2.1 呼叫中心時代 009
1.2.2 互聯網和移動互聯網時代 009
1.2.3 大數據和人工智能時代 011
第2 章 移動大前端 013
2.1 CRN 框架 014
2.1.1 背景介紹 014
2.1.2 框架設計 015
2.1.3 性能優化 016
2.1.4 配套支撐係統建設 019
2.2 Web 框架 021
2.2.1 微信小程序應用框架CWX 021
2.2.2 CRN 瀏覽器端運行框架CRN-Web 024
2.2.3 下一代前端框架解決方案 NFES 027
2.3 插件化 033
2.3.1 插件化的來源 033
2.3.2 方案的實現 034
2.4 Node.js 038
2.4.1 應用場景 038
2.4.2 應用部署 039
2.4.3 運維與監控 040
2.4.4 公共服務 044
2.5 移動發布平颱MCD 045
2.5.1 平颱服務架構 045
2.5.2 生命周期管理 046
2.5.3 開發流程管理 048
2.5.4 發布流程管理 049
2.6 用戶行為監測UBT 050
2.6.1 數據采集 050
2.6.2 傳輸與存儲 052
2.6.3 實時分析 054
2.7 CData 055
2.7.1 性能管理 055
2.7.2 錯誤統計 056
2.7.3 訪問量統計 057
2.7.4 排障支持 057
2.8 本章小結 058
第3 章 用戶接入 059
3.1 GSLB 技術 059
3.1.1 GSLB 係統概述 060
3.1.2 DNS 工作方式 060
3.1.3 GSLB 工作原理 061
3.2 CDN 063
3.2.1 CDN 靜態加速 064
3.2.2 CDN 動態加速 065
3.2.3 CDN 動態域名切換 066
3.3 App 端接入 066
3.4 負載均衡 067
3.4.1 負載均衡器工作原理 068
3.4.2 負載均衡優化手段 070
3.4.3 負載均衡算法 074
3.4.4 負載均衡會話保持 076
3.5 軟負載係統SLB 077
3.5.1 SLB 的産生背景 077
3.5.2 SLB 的架構設計 078
3.5.3 SLB 實現的幾個難點 083
3.6 API Gateway 086
3.6.1 API Gateway 的架構設計 087
3.6.2 API Gateway 在攜程的使用 091
3.7 本章小結 092
第4 章 呼叫中心 093
4.1 軟交換係統SoftPBX 095
4.1.1 攜程軟交換係統現狀 095
4.1.2 軟交換架構與信令路徑 095
4.1.3 組件規劃與分布 096
4.1.4 應用場景 099
4.2 交互式語音應答係統SoftIVR 101
4.2.1 什麼是交互式語音應答 101
4.2.2 SoftIVR 架構與特點 101
4.2.3 信令傳輸流程與核心組件 104
4.2.4 應用場景 108
4.3 全渠道客服雲係統 109
4.3.1 全渠道客服雲係統的意義 109
4.3.2 客服雲整體架構 111
4.3.3 服務端架構 112
4.3.4 應用場景 115
4.4 本章小結 117
第5 章 框架中間件 118
5.1 服務化 120
5.1.1 為什麼需要服務化中間件框架 120
5.1.2 服務化中間件框架的基本架構 121
5.1.3 服務注冊中心設計解析 122
5.1.4 服務治理係統功能解析 125
5.2 消息隊列 128
5.2.1 消息隊列的特性與使用場景 128
5.2.2 主流消息隊列 129
5.2.3 攜程消息隊列QMQ 132
5.3 配置中心 137
5.3.1 為什麼需要配置中心 137
5.3.2 配置中心的特性 138
5.3.3 Apollo 源碼部分解析 139
5.3.4 配置中心麵臨的新挑戰 141
5.4 數據訪問 142
5.4.1 數據訪問層概述 142
5.4.2 為什麼要引入數據訪問中間件 143
5.4.3 數據訪問中間件的主流方案 144
5.4.4 攜程數據訪問中間件功能解析 146
5.5 緩存層 150
5.5.1 總體架構 150
5.5.2 分片和路由 151
5.5.3 高可用 153
5.5.4 水平拆分 154
5.5.5 跨機房容災 156
5.5.6 跨區域同步 159
5.5.7 雙嚮同步 163
5.6 本章小結 167
第6 章 數據庫 168
6.1 上傳發布 171
6.1.1 錶結構設計規範 172
6.1.2 數據庫錶結構的發布 172
6.1.3 SQL Server 的特殊之處 173
6.2 監控告警 176
6.2.1 數據庫大盤監控 176
6.2.2 運維數據庫OPDB 178
6.2.3 語句監控 179
6.3 數據庫高可用 187
6.3.1 SQL Server 高可用 188
6.3.2 MySQL 高可用 189
6.3.3 Redis 高可用架構 193
6.4 本章小結 194
第7 章 IaaS & PaaS 195
7.1 網絡架構演進 198
7.1.1 基於 VLAN 的二層網絡 198
7.1.2 基於VXLAN 的大二層SDN 網絡 200
7.1.3 基於BGP 的三層SDN 網絡 203
7.2 K8s 和容器化的實踐 207
7.2.1 部署架構 207
7.2.2 網絡 208
7.2.3 調度 209
7.2.4 存儲 212
7.2.5 監控 214
7.2.6 容器化 215
7.3 混閤雲 217
7.3.1 混閤雲整體設計 218
7.3.2 混閤雲網絡& 安全 220
7.3.3 混閤雲計費& 對賬 222
7.3.4 混閤雲運維 224
7.4 持續交付 226
7.4.1 發布的藝術 226
7.4.2 Tars 係統設計 229
7.5 本章小結 232
第8 章 監控 233
8.1 指標監控和告警係統Hickwall 234
8.1.1 指標監控的應用和挑戰 235
8.1.2 指標模型的選擇 236
8.1.3 Hickwall 架構 238
8.2 開源分布式應用監控係統CAT 241
8.2.1 為什麼需要應用監控係統 241
8.2.2 應用監控係統的特點 243
8.2.3 客戶端實現解析 245
8.2.4 存儲模型解析 247
8.3 公共日誌服務平颱CLog 250
8.3.1 日誌係統的演進與特點 251
8.3.2 CLog 的架構 252
8.4 告警係統 257
8.4.1 告警係統的需求特點 258
8.4.2 流式告警的實現和處理 259
8.5 本章小結 263
第9 章 網站高可用 264
9.1 可用性指標與度量 265
9.1.1 Ctrip ATP 266
9.1.2 Ctrip ATP 算法 266
9.1.3 Ctrip ATP 架構 267
9.1.4 訂單預測模型 268
9.2 服務熔斷、限流與降級 270
9.2.1 微服務架構下的可用性 271
9.2.2 熔斷、限流在攜程的落地 272
9.2.3 熔斷、限流的治理問題 274
9.3 災備數據中心 276
9.3.1 冷備模式 277
9.3.2 熱備模式 278
9.3.3 多活模式 278
9.4 網站單元化部署 281
9.4.1 單元化架構 282
9.4.2 單元化思路 283
9.5 基礎組件支持 285
9.5.1 路由調度 285
9.5.2 數據復製 287
9.6 全鏈路壓測 292
9.6.1 技術選型與係統設計 292
9.6.2 構造與隔離壓測數據 295
9.6.3 全鏈路監控設計 295
9.7 運維工具高可用 296
9.7.1 哪些運維工具需要實現高可用 296
9.7.2 工具的改造 297
9.7.3 定期故障演練 300
9.8 混沌工程 300
9.8.1 混沌工程的起源 301
9.8.2 混沌工程的5 條原則 301
9.8.3 如何進行一個混沌實驗 304
9.9 數據驅動運營 307
9.9.1 智能運維AIOps 308
9.9.2 AI 算法在運維領域的典型場景 309
9.9.3 運維數據倉庫 312
9.10 GNOC 314
9.11 本章小結 319
· · · · · · (
收起)