第1部分 基础篇
第1章 单块架构及其面临的挑战
1.1 三层应用架构
1.1.1 三层应用架构的发展
1.1.2 什么是三层架构
1.1.3 三层架构的优势
1.2 单块架构
1.2.1 什么是单块架构
1.2.2 单块架构的优势
1.2.3 单块架构面临的挑战
1.3 小结
第2章 微服务架构综述
2.1 什么是微服务架构
2.1.1 多微才够微
2.1.2 单一职责
2.1.3 轻量级通信
2.1.4 独立性
2.1.5 进程隔离
2.2 微服务的诞生背景
2.2.1 互联网行业的快速发展
2.2.2 敏捷、精益方法论的深入人心
2.2.3 单块架构系统面临的挑战
2.2.4 容器虚拟化技术
2.3 微服务架构与
2.3.1 SOA概述
2.3.2 微服务与
2.4 微服务的本质
2.4.1 服务作为组件
2.4.2 围绕业务组织团队
2.4.3 关注产品而非项目
2.4.4 技术多样性
2.4.5 业务数据独立
2.4.6 基础设施自动化
2.4.7 演进式架构
2.5 微服务不是银弹
2.5.1 分布式系统的复杂度
2.5.2 运维成本
2.5.3 部署自动化
2.5.4 DevOps与组织架构
2.5.5 服务间的依赖测试
2.5.6 服务间的依赖管理
2.6 小结
第2部分 实践篇
第3章 构建第一个服务
3.1 场景分析
3.2 任务拆分
第4章 HelloWorldAPI
4.1 API实现
4.1.1 开发语言――Ruby
4.1.2 Web框架――Grape
4.1.3 API的具体实现
4.2 代码测试与静态检查
4.2.1 代码测试
4.2.2 测试覆盖率统计
4.2.3 静态检查
4.2.4 代码复杂度检查
第5章 构建Docker映像
5.1 定义Doc
5.2 配置Docker主机
5.3 构建Docker映像
5.4 运行Docker容器
5.5 发布Docker映像
5.6 小结
第6章 部署Docker映像
6.1 基础设施
6.2 基础设施自动化
6.3 部署Docker映像
6.4 自动化部署
6.5 小结
第7章 持续交付流水线
7.1 持续集成环境
7.2 提交阶段
7.3 验证阶段
7.4 构建阶段
7.5 发布阶段
7.6 小结
第8章 日志聚合
8.1 日志聚合工具简介
8.2 Splunk的核心
8.3 安装Splunk索引器
8.4 安装Splunk转发器
8.5 日志查找
8.6 告警设置
8.7 小结
第9章 监控与告警
9.1 Nagios简介
9.2 Nagios的工作原理
9.3 Nagios安装
9.4 Nagios的配置
9.5 监控products-service
9.6 告警
9.7 小结
第10章 功能迭代
10.1 定义模型
10.2 持久化模型
10.3 定义表现形式
10.4 实现API
10.5 服务描述文件
10.6 小结
第3部分 进阶篇
第11章 微服务与持续交付
11.1 持续交付的核心
11.2 微服务架构与持续交付
11.2.1 开发
11.2.2 测试
11.2.3 持续集成
11.2.4 构建
11.2.5 部署
11.2.6 运维
11.3 小结
第12章 微服务与轻量级通信机制
12.1 同步通信与异步通信
12.1.1 概述
12.1.2 同步通信与异步通信的选择
12.2 远程调用RPC
12.2.1 远程过程调用的核心
12.2.2 远程方法调用
12.2.3 远程过程调用的弊端
12.3 REST
12.3.1 概述
12.3.2 REST的核心
12.3.3 REST的优势
12.3.4 REST的不足
12.3.5 本节小结
12.4 HAL
12.4.1 概述
12.4.2 HAL的核心
12.4.3 HAL浏览器
12.5 消息队列
12.5.1 核心部分
12.5.2 访问方式
12.5.3 消息队列的优缺点
12.6 后台任务处理系统
12.6.1 核心部分
12.6.2 服务回调
12.6.3 一个例子
12.6.4 后台任务与微服务
12.7 小结
第13章 微服务与测试
13.1 微服务的结构
13.2 微服务的测试策略
13.3 微服务的单元测试
13.3.1 单元测试综述
13.3.2 单元测试的内容
13.4 微服务的集成测试
13.4.1 集成测试综述
13.4.2 集成测试的实施方法
13.4.3 集成测试的内容
13.5 基于消费者驱动的契约测试
13.5.1 集成测试存在的弊端
13.5.2 什么是契约
13.5.3 什么是契约测试
13.5.4 契约测试的方法
13.5.5 Pact实现契约测试
13.5.6 一个例子
13.5.7 本节小结
13.6 微服务的组件测试
13.6.1 组件测试概述
13.6.2 组件测试的方法
13.6.3 本节小结
13.7 微服务的端到端测试
13.7.1 端到端测试概述
13.7.2 端到端测试的内容
13.7.3 本节小结
13.8 小结
第14章 使用微服务架构改造遗留系统
14.1 背景与挑战
14.2 改造策略
14.2.1 昀小修改
14.2.2 功能剥离
14.2.3 数据解耦
14.2.4 数据同步
14.2.5 迭代替换
14.3 快速开发实践
14.3.1 快速开发模板
14.3.2 代码生成工具
14.3.3 持续集成模板
14.3.4 一键部署工具
14.4 微服务架构下的新系统
14.5 小结