第一部分 动机和基础知识
第1章 预备知识
1.1 微服务概述
1.2 为什么采用微服务
1.3 挑战
1.4 总结
第2章 微服务应用案例
2.1 遗留电商应用的技术更新
2.2 开发一个新的信号系统
2.3 总结
第二部分 微服务是什么,用还是不用
第3章 什么是微服务
3.1 微服务的大小
3.2 康威定律
3.3 领域驱动设计与限界上下文
3.4 为什么要远离标准数据模型
3.5 微服务要不要包含UI
3.6 总结
第4章 采用微服务的原因
4.1 技术优势
4.2 组织上的优势
4.3 业务方面的优势
4.4 总结
第5章 挑战
5.1 技术挑战
5.2 架构
5.3 基础设施与运维
5.4 总结
第6章 微服务与SOA
6.1 什么是SOA
6.2 SOA与微服务的区别
6.3 总结
第三部分 微服务的实现
第7章 微服务系统架构
7.1 领域架构
7.2 架构管理
7.3 调整架构的技术
7.4 增长的微服务系统
7.5 别错过出口:如何避免微服务的退化
7.6 微服务与遗留应用
7.7 潜在的依赖
7.8 事件驱动架构
7.9 技术架构
7.10 配置与协调
7.11 服务发现
7.12 负载均衡
7.13 可伸缩性
7.14 安全性
7.15 文档与元数据
7.16 总结
第8章 集成与通信
8.1 Web与UI
8.2 REST
8.3 SOAP与RPC
8.4 消息
8.5 数据复制
8.6 内部接口与外部接口
8.7 总结
第9章 单个微服务架构
9.1 领域架构
9.2 CQRS
9.3 事件溯源
9.4 六边形架构
9.5 容错性和稳定性
9.6 技术架构
9.7 总结
第10章 微服务与微服务系统的测试
10.1 为什么需要测试
10.2 如何测试
10.3 降低部署的风险
10.4 系统整体的测试
10.5 遗留应用与微服务的测试
10.6 各个微服务的测试
10.7 消费者驱动的契约测试
10.8 技术标准的测试
10.9 总结
第11章 微服务的运维及持续交付
11.1 微服务运维的挑战
11.2 日志
11.3 监控
11.4 部署
11.5 联合部署还是独立部署
11.6 控制
11.7 基础设施
11.8 总结
第12章 微服务架构的组织效应