第1章 微服务简介 1
从单体应用到微服务 1
微服务架构 7
微服务生态系统 9
第1层:硬件层 10
第2层:通信层 11
第3层:应用平台层 13
第4层:微服务层 15
组织的挑战 16
反康威定律 17
技术蔓延 18
更多失效的可能性 18
资源竞争 19
第2章 生产就绪 21
微服务标准化的挑战 21
可用性:标准化的目标 22
生产就绪标准 23
稳定性 24
可靠性 24
伸缩性 25
容错和灾备 26
高性能 28
监控 28
文档化 29
实现生产就绪标准 31
第3章 稳定性和可靠性 33
微服务稳定性和可靠性的原则 33
开发周期 34
部署管道 36
staging 36
canary 40
生产 41
让稳定可靠的部署成为强制措施 41
服务依赖 42
路由和服务发现 44
服务和端点的解除 44
评估你的微服务 45
开发周期 45
部署管道 46
服务依赖 46
路由和服务发现 46
服务和端点的解除 46
第4章 伸缩性和高性能 47
关于微服务伸缩性和高性能的原则 47
了解增长规模 48
质的增长规模 48
量的增长规模 50
资源的有效利用 50
资源感知 51
资源需求 51
资源瓶颈 51
容量规划 52
依赖项的伸缩 53
流量管理 54
任务处理 55
编程语言的限制 55
高效地处理请求任务 56
可伸缩的数据存储 56
微服务生态系统的数据库选择 57
微服务架构在数据库方面面临的挑战 57
评估你的微服务 58
增长规模 58
资源的有效利用 58
资源感知 58
容量规划 59
依赖项的伸缩 59
流量管理 59
任务处理 59
可伸缩的数据存储 59
第5章 容错和灾备 61
用于构建具有容错能力微服务的原则 61
避免单点故障 62
故障场景 63
常见的生态系统故障 64
硬件故障 65
通信层和应用平台层的故障 66
依赖项故障 68
内部故障 69
弹性测试 70
代码测试 71
负载测试 72
混沌测试 74
故障检测和修复 75
事故和中断 76
处理事故的5个步骤 78
评估你的微服务 80
避免故障点 80
故障场景 80
弹性测试 80
故障检测和修复 81
第6章 监控 83
用于微服务监控的原则 83
关键性度量指标 84
日志 86
仪表盘 87
告警 88
设置有效的告警 89
处理告警 89
轮班待命 90
评估你的微服务 91
关键性度量指标 91
日志 91
仪表盘 91
告警 91
轮班待命 92
第7章 文档化和理解 93
微服务文档和理解的原则 93
微服务文档 95
描述 96
架构图 96
轮班待命信息 97
链接 97
开发上手指南 97
请求消息流、端点和依赖项 98
运行手册 98
问答章节 99
理解微服务 99
架构评审 100
生产就绪审计 101
生产就绪路线图 101
生产就绪自动化 102
评估你的微服务 102
微服务文档 103
微服务理解 103
附录A 生产就绪检查列表 105
附录B 评估你的微服务 107
术语表 113
索引 119