《微服务架构与实践 》PDF电子书下载

图书简介

随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建**个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;*后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。

相关截图

微服务架构与实践

目录

第 1部分 基础篇
第 1章 单块架构及其面临的挑战 . 3
1.1三层应用架构 . 4
1.1.1三层应用架构的发展 4
1.1.2什么是三层架构 . 5
1.1.3三层架构的优势 . 6
1.2单块架构 . 6
1.2.1什么是单块架构 . 6
1.2.2单块架构的优势 . 7
1.2.3单块架构面临的挑战 8
1.3 小结 . 12
第 2章 微服务架构综述 13
2.1什么是微服务架构 . 13
2.1.1多微才够微 . 14
2.1.2 单一职责 . 17
2.1.3 轻量级通信 . 17
2.1.4 独立性 . 19
2.1.5 进程隔离 . 20
2.2 微服务的诞生背景 . 22
2.2.1 互联网行业的快速发展 23
2.2.2 敏捷、精益方法论的深入人心 23
2.2.3 单块架构系统面临的挑战 23
2.2.4 容器虚拟化技术 . 23
2.3 微服务架构与 SOA 24
2.3.1 SOA概述 24
2.3.2 微服务与 SOA 25
2.4 微服务的本质 . 26
2.4.1服务作为组件 . 27
2.4.2 围绕业务组织团队 . 28
2.4.3 关注产品而非项目 . 29
2.4.4 技术多样性 . 31
2.4.5 业务数据独立 . 32
2.4.6 基础设施自动化 . 33
2.4.7 演进式架构 . 33
2.5 微服务不是银弹 . 34
2.5.1 分布式系统的复杂度 35
2.5.2 运维成本 . 36
2.5.3 部署自动化 . 36
2.5.4 DevOps与组织架构 . 37
2.5.5 服务间的依赖测试 . 37
2.5.6 服务间的依赖管理 . 37
2.6 小结 . 38
第 2部分 实践篇
第 3章 构建第一个服务 41
3.1场景分析 . 41
3.2任务拆分 . 43
第 4章 Hello World API 45
4.1 API实现 45
4.1.1 开发语言 ――Ruby . 45
4.1.2 Web框架――Grape . 46
4.1.3 API的具体实现 47
4.2代码测试与静态检查 . 50
4.2.1代码测试 . 50
4.2.2测试覆盖率统计 . 53
4.2.3静态检查 . 54
4.2.4代码复杂度检查 . 57
第 5章 构建 Docker映像 . 61
5.1 定义 Dockerfile . 61
5.2 配置 Docker主机 63
5.3 构建 Docker映像 64
5.4 运行 Docker容器 64
5.5 发布 Docker映像 65
5.6 小结 . 69
第 6章 部署 Docker映像 . 71
6.1基础设施 AWS 71
6.2基础设施自动化 . 73
6.3 部署 Docker映像 80
6.4自动化部署 . 81
6.5 小结 . 84
第 7章 持续交付流水线 85
7.1持续集成环境 . 85
7.2提交阶段 . 87
7.3验证阶段 . 91
7.4构建阶段 . 91
7.5发布阶段 . 94
7.6 小结 . 96
第 8章 日志聚合 97
8.1 日志聚合工具简介 . 97
8.2 Splunk的核心 . 99
8.3 安装 Splunk索引器 100
8.4 安装 Splunk转发器 101
8.5日志查找 . 102
8.6告警设置 . 103
8.7 小结 . 104
第 9章 监控与告警 . 105
9.1 Nagios简介. 105
9.2 Nagios的工作原理 . 107
9.3 Nagios安装. 108
9.4 Nagios的配置 . 109
9.5 监控 products-service 111
9.6 告警 . 113
9.7 小结 . 114
第 10章 功能迭代 115
10.1定义模型 . 116
10.2持久化模型 . 117
10.3定义表现形式 . 119
10.4 实现 API 122
10.5服务描述文件 . 125
10.6 小结 . 127
第 3部分 进阶篇
第 11章 微服务与持续交付 131
11.1持续交付的核心 132
11.2微服务架构与持续交付 133
11.2.1 开发 . 133
11.2.2 测试 . 137
11.2.3持续集成 139
11.2.4 构建 . 139
11.2.5 部署 . 140
11.2.6 运维 . 143
11.3 小结 . 144
第 12章 微服务与轻量级通信机制 . 145
12.1同步通信与异步通信 . 145
12.1.1 概述 . 145
12.1.2同步通信与异步通信的选择 146
12.2远程调用 RPC . 147
12.2.1远程过程调用的核心 147
12.2.2远程方法调用 . 148
12.2.3远程过程调用的弊端 148
12.3 REST . 149
12.3.1 概述 . 149
12.3.2 REST的核心 . 150
12.3.3 REST的优势 . 152
12.3.4 REST的不足 . 152
12.3.5 本节小结 . 155
12.4 HAL . 155
12.4.1 概述 . 155
12.4.2 HAL的核心 156
12.4.3 HAL浏览器 160
12.5消息队列 . 161
12.5.1 核心部分 . 162
12.5.2 访问方式 . 163
12.5.3消息队列的优缺点 . 164
12.6后台任务处理系统 . 165
12.6.1 核心部分 . 165
12.6.2 服务回调 . 166
12.6.3 一个例子 . 167
12.6.4后台任务与微服务 . 169
12.7 小结 . 170
第 13章 微服务与测试 . 171
13.1微服务的结构 . 171
13.2微服务的测试策略 . 173
13.3微服务的单元测试 . 175
13.3.1单元测试综述 . 175
13.3.2单元测试的内容 . 176
13.4微服务的集成测试 . 179
13.4.1集成测试综述 . 179
13.4.2集成测试的实施方法 179
13.4.3集成测试的内容 . 180
13.5基于消费者驱动的契约测试 181
13.5.1集成测试存在的弊端 181
13.5.2什么是契约 . 183
13.5.3什么是契约测试 . 184
13.5.4契约测试的方法 . 185
13.5.5 Pact实现契约测试 187
13.5.6 一个例子 . 192
13.5.7 本节小结 . 205
13.6微服务的组件测试 . 205
13.6.1组件测试概述 . 205
13.6.2组件测试的方法 . 206
13.6.3 本节小结 . 207
13.7微服务的端到端测试 . 208
13.7.1端到端测试概述 . 208
13.7.2端到端测试的内容 . 208
13.7.3 本节小结 . 209
13.8 小结 . 210
第 14章 使用微服务架构改造遗留系统 211
14.1背景与挑战 . 211
14.2改造策略 . 212
14.2.1 昀小修改 . 212
14.2.2 功能剥离 . 212
14.2.3 数据解耦 . 213
14.2.4 数据同步 . 213
14.2.5 迭代替换 . 214
14.3快速开发实践 . 215
14.3.1快速开发模板 . 215
14.3.2代码生成工具 . 217
14.3.3持续集成模板 . 217
14.3.4一键部署工具 . 217
14.4微服务架构下的新系统 . 218
14.5 小结 . 220

打赏
下载 积分 (-60) 吐槽 (39)
转贴到:
×
加载中,请稍候…

您需要 登录 后才能发表评论。

avatar

- 评论

  • 加载中,请稍候…
我要吐槽