技术教育社区
www.teccses.org

微服务.灵活的软件架构

封面

作者:(德)埃伯哈德·沃尔夫(Eberhard

页数:261

出版社:人民邮电出版社

出版日期:2018

ISBN:9787115521293

电子书格式:pdf/epub/txt

内容简介

微服务具有模块性强、可替代性强、可持续开发、可独立伸缩、可持续交付等优点,近年来受到越来越多的开发者以及一些经验老到的架构师的青睐,采用微服务架构的公司也越来越多。本书围绕架构和团队的主题,详细介绍了微服务的各个方面,包括采用微服务的原因、微服务架构的基础知识、微服务的实际应用、如何克服相关的挑战,等等。本书还包含具体的实现示例,在代码层面详细介绍了微服务的技术实现。

作者简介

埃伯哈德·沃尔夫(Eberhard Wolff) 技术咨询公司innoQ的研究员,一位立足于业务和技术交汇点、拥有超过15年经验的架构师和咨询师。他曾在多个国际会议上发表过演讲和报告,担任多个会议的委员会成员,并撰写了100多篇文章及多本图书。他的技术关注点是现代架构,主要涉及云计算、持续交付、DevOps、微服务和NoSQL。 【译者简介】 莫树聪 计算机硕士,毕业于浙江大学,先后供职于网易、Yeahmobi,目前是一名运维开发工程师,关注容器、云计算、后端开发、机器学习等领域。

本书特色

微服务具有模块性强、可替代性强、可持续开发、可独立伸缩、可持续交付等优点,近年来受到越来越多的开发者以及一些经验老到的架构师的青睐,采用微服务架构的公司也越来越多。本书围绕架构和团队的主题,详细介绍了微服务的各个方面,包括采用微服务的原因、微服务架构的基础知识、微服务的实际应用、如何克服相关的挑战,等等。本书还包含具体的实现示例,在代码层面详细介绍了微服务的技术实现。

目录

第 一部分 动机和基础知识

第 1章 预备知识 2

1.1 微服务概述 2

1.2 为什么采用微服务 3

1.3 挑战 5

1.4 总结 6

第 2章 微服务应用案例 7

2.1 遗留电商应用的技术更新 7

2.2 开发一个新的信号系统 13

2.3 总结 15

第二部分 微服务是什么,用还是不用

第3章 什么是微服务 18

3.1 微服务的大小 18

3.2 康威定律 24

3.3 领域驱动设计与限界上下文 27

3.4 为什么要远离标准数据模型 32

3.5 微服务要不要包含UI 34

3.6 总结 35

第4章 采用微服务的原因 37

4.1 技术优势 37

4.2 组织上的优势 42

4.3 业务方面的优势 44

4.4 总结 45

第5章 挑战 47

5.1 技术挑战 47

5.2 架构 50

5.3 基础设施与运维 52

5.4 总结 53

第6章 微服务与SOA 55

6.1 什么是SOA 55

6.2 SOA与微服务的区别 59

6.3 总结 62

第三部分 微服务的实现

第7章 微服务系统架构 68

7.1 领域架构 68

7.2 架构管理 71

7.3 调整架构的技术 75

7.4 增长的微服务系统 81

7.5 别错过出口:如何避免微服务的退化 84

7.6 微服务与遗留应用 86

7.7 潜在的依赖 91

7.8 事件驱动架构 92

7.9 技术架构 93

7.10 配置与协调 95

7.11 服务发现 97

7.12 负载均衡 99

7.13 可伸缩性 102

7.14 安全性 104

7.15 文档与元数据 109

7.16 总结 110

第8章 集成与通信 112

8.1 Web与UI 112

8.2 REST 121

8.3 SOAP与RPC 123

8.4 消息 124

8.5 数据复制 126

8.6 内部接口与外部接口 128

8.7 总结 130

第9章 单个微服务架构 133

9.1 领域架构 133

9.2 CQRS 134

9.3 事件溯源 136

9.4 六边形架构 138

9.5 容错性和稳定性 141

9.6 技术架构 144

9.7 总结 146

第 10章 微服务与微服务系统的测试 148

10.1 为什么需要测试 148

10.2 如何测试 149

10.3 降低部署的风险 153

10.4 系统整体的测试 154

10.5 遗留应用与微服务的测试 157

10.6 各个微服务的测试 159

10.7 消费者驱动的契约测试 160

10.8 技术标准的测试 163

10.9 总结 164

第 11章 微服务的运维及持续交付 165

11.1 微服务运维的挑战 165

11.2 日志 167

11.3 监控 171

11.4 部署 176

11.5 联合部署还是独立部署 179

11.6 控制 180

11.7 基础设施 180

11.8 总结 184

第 12章 微服务架构的组织效应 186

12.1 微服务的组织效益 186

12.2 康威定律的替代方案 189

12.3 微观架构与宏观架构 191

12.4 技术领导力 196

12.5 DevOps 197

12.6 当微服务遇上传统的IT组织 198

12.7 与客户的接洽 201

12.8 可复用代码 202

12.9 能否采用微服务而不改变组织 204

12.10 总结 206

第四部分 技术

第 13章 微服务架构示例 210

13.1 领域架构 210

13.2 基本技术 212

13.3 构建 216

13.4 使用Docker进行部署. 217

13.5 Vagrant 218

13.6 Docker Machine 222

13.7 Docker Compose 223

13.8 服务发现 226

13.9 通信 228

13.10 容错性 230

13.11 负载均衡 234

13.12 集成其他技术 235

13.13 测试 236

13.14 基于JVM的微服务在Amazon Cloud中运行的实践 237

13.15 总结 239

第 14章 纳米服务技术 241

14.1 为什么采用纳米服务 241

14.2 纳米服务:定义 243

14.3 Amazon Lambda 244

14.4 OSGi 245

14.5 Java EE 248

14.6 Vert.x 251

14.7 Erlang 252

14.8 Seneca 255

14.9 总结 257

第 15章 把微服务用起来 259

15.1 为什么选择微服务 259

15.2 微服务实践之路 260

15.3 微服务:能否落地 260

15.4 总结 261

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《微服务.灵活的软件架构》
Article link:https://www.teccses.org/1094521.html