第一部分 电信行业架构综述 2
第1章 认识大象 2
1.1何谓大象 2
1.2电信业务支撑系统的发展历程 4
1.2.1“大算盘”时代 6
1.2.2 C/S时代 6
1.2.3 MVC垂直应用 7
1.2.4 SOA服务化 9
1.2.5微服务架构(MSA) 10
1.3电信业务支撑困境 11
1.4电信与电商 13
第2章 让大象学跳舞 15
2.1大象能跳舞吗 15
2.2大象的舞台 15
2.3大象跳舞“四步曲” 16
第二部分 构建微服务架构 18
第3章 微服务架构综述 18
3.1微服务的本质 18
3.1.1什么是微服务 18
3.1.2微服务架构特点 20
3.1.3 SOA与微服务 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.8 API网关 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.1 Memcached 134
8.1.2 Redis 135
8.1.3 Coherence 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
第三部分 构建企业级微服务架构 152
第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.2 Docker带来的改变 159
10.3基于Kubernetets的应用托管平台 160
10.3.1 Kubemetes基本原理 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.2 DevOps核心原则 210
12.2.1基础架构即代码 210
12.2.2持续交付 211
12.2.3协同工作 212
12.3 DevOps的技术栈和工具链 212
12.4 DevOps平台解决方案 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
第四部分 打造下一代基础架构平台 234
第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