《微服务架构与实践》【PDF】

标签:
java学习书单微服务架构与实践容器技术与微服务电子书 |
分类: Java学习书单 |

内容简介
随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建第一个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。 本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。
作者简介
ThoughtWorks的首席咨询师王磊是国内较早倡导和实践微服务的先行者。王磊是开源软件的爱好者和贡献者,社区活动的参与者,《Ruby Gems开发实战》(Practical RubyGems)一书的译者,GDCR西安的组织者。他于2012年加入ThoughtWorks,为国内外诸多客户提供项目交付和咨询服务;在加入ThoughtWorks之前,曾就职过多家知名外企,具有丰富的敏捷项目实战经验。目前致力于微服务架构、高可用的Web应用以及DevOps的研究与实践。
目录
第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
...
下载地址:https://u3990681.ctfile.com/fs/3990681-229969413