针对企业如何采用云原生架构实现高效的产品迭代能力、支持互联网业务健康发展,《云原生应用架构实践》总结了一套可行的方法论。书中详解了云原生应用的内涵和要点,对实现云原生应用面临的功能和非功能(高性能、高可用、可扩展、安全性、高可靠等)的不同阶段需求和实现方案进行了较为完整的梳理。内容涵盖了系统工程化、高性能数据库、分布式数据库、DevOps、微服务架构、服务化测试、多机房架构等方面,既有业务挑战分析,也有架构实践指导,并通过实战案例加以诠释。
《云原生应用架构实践》适合希望采用云计算帮助企业实现业务提升的CTO、CIO、架构师等群体。
目录
- 引子 1
- 第1章 互联网系统架构的挑战 2
- 1.1云应用架构技术发展 4
- 1.2云平台下架构的不同点 5
- 1.2.1开发模式的区别 6
- 1.2.2交付模式的区别 7
- 1.2.3架构设计的区别 8
- 1.3云原生应用架构 10
- 1.4架构演化发展历程 21
- 1.4.1初创期架构 22
- 1.4.2快速成长期架构 24
- 1.4.3分布式服务架构 26
- 1.5云计算服务介绍 29
- 1.6云计算解决方案 31
- 1.7案例概述 34
- 1.7.1背景介绍 34
- 1.7.2环境要求 36
- 1.7.3项目构建 36
- 1.7.4项目运行 36
- 1.7.5相关技术介绍 37
- 小结 40
- 第2章从0到1工程实践 41
- 2.1工程化 41
- 2.1.1工程模板 41
- 2.1.2模块化 45
- 2.1.3工程化构建 50
- 2.1.4代码规范及检查 53
- 2.1.5代码版本管理 54
- 2.1.6环境划分 61
- 2.2基于容器工程化 62
- 2.2.1 Docker及作用 63
- 2.2.2 Docker镜像及操作 66
- 2.2.3 Docker容器及操作 73
- 2.2.4基于容器工程化 77
- 2.3实战示例 78
- 小结 84
- 第3章初创期应用架构实践 85
- 3.1技术选型 85
- 3.1.1业务框架选型 85
- 3.1.2结构化数据存储 92
- 3.1.3缓存选型 102
- 3.1.4静态资源存储 106
- 3.2架构实践 109
- 3.2.1快速迭代 109
- 3.2.2高可用与负载均衡 111
- 3.2.3交付与部署 117
- 3.2.4 Web应用安全 119
- 3.3应用监控 127
- 3.3.1应用监控指标 127
- 3.3.2应用进程监控 128
- 3.3.3操作系统监控 129
- 小结 136
- 第4章快速成长期应用架构实践 137
- 4.1关键业务需求 137
- 4.1.1计数与排序 137
- 4.1.2秒杀 146
- 4.1.3全文检索 149
- 4.1.4日志收集 154
- 4.2架构实践 156
- 4.2.1前端系统扩展 157
- 4.2.2无状态服务设计 157
- 4.2.3在线水平扩展 160
- 4.2.4后端系统扩展 163
- 4.2.5系统通信 173
- 4.2.6消息中间件 176
- 4.3系统优化 181
- 4.3.1静态资源分离 182
- 4.3.2数据库调优 185
- 4.3.3系统高可用 193
- 4.4应用诊断 200
- 4.4.1应用健康检查 200
- 4.4.2性能问题诊断 204
- 4.4.3基于日志的故障诊断 210
- 4.5数据库诊断 214
- 4.6 DevOps 223
- 4.6.1持续集成 224
- 4.6.2持续交付 227
- 4.6.3灰度发布 229
- 4.6.4大应用编排 231
- 4.7安全设计 246
- 4.7.1入侵检测 247
- 4.7.2防劫持攻击 249
- 小结 255
- 第5章稳定期服务化应用架构实践 256
- 5.1业务拆分 256
- 5.2统一配置中心 259
- 5.3分布式定时任务 261
- 5.3.1分布式定时任务设计 262
- 5.3.2业界流行的开源框架 264
- 5.4分布式锁系统 274
- 5.5微服务化架构 277
- 5.5.1服务发现 279
- 5.5.2服务治理 302
- 5.5.3微服务框架 307
- 5.5.4服务编排 313
- 5.5.5微服务测试 321
- 5.6分布式数据一致性 333
- 5.6.1 CAP和BASE理论 333
- 5.6.2一致性模型 336
- 5.6.3典型的解决方案 337
- 5.7同城多活 344
- 5.7.1应用同城多活 345
- 5.7.2跨AZ负载均衡 347
- 5.8故障诊断 348
- 小结 353
- 参考文献 354
- 技术术语 356