×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302581857
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:大16开
  • 页数:228
  • 出版时间:2021-07-01
  • 条形码:9787302581857 ; 978-7-302-58185-7

本书特色

《微服务开发实战》将为你开发微服务时可能涉及的许多主题提供方便的参考。我们将以秘笈的方式呈现开发技巧,这些秘笈将帮助你从单体架构顺利转换到微服务架构。我们将讨论在选择*佳架构和管理微服务方式时遇到的特定问题或面临的挑战。本书秘笈包含大量有效、简单、经过测试的示例,你可以将它们应用到自己的开发过程中。我们希望本书可以帮助你思考、计划和执行基于微服务的应用程序的开发。

内容简介

《微服务开发实战》详细阐述了与微服务相关的基本解决方案,主要包括单体架构应用程序分解、边缘服务、服务间通信、客户端模式、可靠性模式、安全性、监控和可观察性、扩展、部署微服务等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

目录

第1章 单体架构应用程序分解 1

1.1 导语 1

1.2 组织开发团队 1

1.2.1 实战操作 2

1.2.2 示例讨论 3

1.3 按业务功能分解微服务 3

1.3.1 理论阐释 4

1.3.2 实战操作 4

1.4 识别有界上下文 5

1.4.1 理论阐释 5

1.4.2 实战操作 8

1.5 迁移生产环境中的数据 9

1.5.1 理论阐释 9

1.5.2 实战操作 9

1.6 重构单体架构应用程序 12

1.6.1 理论阐释 12

1.6.2 实战操作 14

1.7 将单体架构应用程序升级为服务 16

1.7.1 理论阐释 16

1.7.2 实战操作 16

1.8 升级测试套件 18

1.8.1 做好准备 18

1.8.2 实战操作 18

1.9 使用Docker进行本地开发 19

1.9.1 做好准备 19

1.9.2 实战操作 19

1.10 将请求路由到服务 20

1.10.1 理论阐释 21

1.10.2 实战操作 21

第2章 边缘服务 23

2.1 导语 23

2.2 使用边缘代理服务器控制对服务的访问 23

2.2.1 操作说明 24

2.2.2 实战操作 25

2.3 通过边车模式扩展服务 28

2.3.1 理论阐释 28

2.3.2 实战操作 29

2.4 使用API网关将请求路由到服务 31

2.4.1 设计时需要考虑的问题 32

2.4.2 实战操作 33

2.5 使用Hystrix停止级联故障 40

2.5.1 理论阐释 41

2.5.2 实战操作 41

2.6 速率限制 45

2.6.1 理论阐释 45

2.6.2 实战操作 46

2.7 使用服务网格解决共同关注的问题 46

2.7.1 理论阐释 47

2.7.2 实战操作 47

第3章 服务间通信 49

3.1 导语 49

3.2 从服务到服务的通信 50

3.2.1 理论阐释 50

3.2.2 实战操作 51

3.3 并发异步请求 56

3.3.1 理论阐释 56

3.3.2 实战操作 57

3.4 使用服务发现来查找服务 61

3.4.1 理论阐释 61

3.4.2 实战操作 62

3.5 服务器端负载均衡 67

3.5.1 理论阐释 67

3.5.2 实战操作 68

3.6 客户端负载均衡 69

3.6.1 理论阐释 69

3.6.2 实战操作 69

3.7 构建事件驱动的微服务 71

3.7.1 理论阐释 72

3.7.2 实战操作 72

3.8 不断演变的API 77

3.8.1 理论阐释 77

3.8.2 实战操作 78

第4章 客户端模式 79

4.1 导语 79

4.2 使用依赖性的Future对并发进行建模 79

4.2.1 理论阐释 80

4.2.2 实战操作 80

4.3 服务于前端的后端 88

4.3.1 理论阐释 88

4.3.2 实战操作 90

4.4 使用JSON和HTTP实现RPC一致性 97

4.4.1 理论阐释 98

4.4.2 实战操作 98

4.5 使用Thrift 103

4.5.1 理论阐释 103

4.5.2 实战操作 103

4.6 使用gRPC 107

4.6.1 理论阐释 107

4.6.2 实战操作 107

第5章 可靠性模式 113

5.1 导语 113

5.2 使用断路器实现背压 114

5.2.1 理论阐释 114

5.2.2 实战操作 115

5.3 使用指数退避算法重试请求 126

5.3.1 理论阐释 126

5.3.2 实战操作 127

5.4 通过缓存提高性能 130

5.4.1 理论阐释 130

5.4.2 实战操作 131

5.5 通过CDN提供更高效的服务 136

5.5.1 理论阐释 137

5.5.2 实战操作 138

5.5.3 优雅地降低用户体验 138

5.6 通过游戏日演习验证容错能力 139

5.6.1 理论阐释 139

5.6.2 先决条件 140

5.6.3 实战操作 140

5.6.4 游戏日演习的模板 141

5.7 引入自动化混沌工程 142

5.7.1 理论阐释 142

5.7.2 实战操作 143

第6章 安全性 145

6.1 导语 145

6.2 身份验证微服务 146

6.2.1 理论阐释 146

6.2.2 实战操作 148

6.3 确保容器安全 162

6.3.1 理论阐释 162

6.3.2 实战操作 162

6.4 安全配置 163

6.4.1 理论阐释 163

6.4.2 实战操作 164

6.5 安全日志记录 176

6.6 基础架构即代码 176

6.6.1 理论阐释 176

6.6.2 实战操作 177

第7章 监控和可观察性 181

7.1 导语 181

7.2 结构化JSON日志记录 182

7.2.1 理论阐释 182

7.2.2 实战操作 182

7.3 使用StatsD和Graphite收集度量值 186

7.3.1 理论阐释 186

7.3.2 实战操作 186

7.4 使用Prometheus收集度量值 190

7.4.1 理论阐释 190

7.4.2 实战操作 191

7.5 通过跟踪使调试更容易 194

7.5.1 理论阐释 195

7.5.2 实战操作 195

7.6 出现问题时发出警报 197

7.6.1 理论阐释 198

7.6.2 实战操作 198

第8章 扩展 203

8.1 导语 203

8.2 使用Vegeta对微服务进行负载测试 203

8.2.1 理论阐释 203

8.2.2 实战操作 204

8.3 使用Gatling对微服务进行负载测试 209

8.3.1 理论阐释 209

8.3.2 实战操作 209

8.4 构建自动扩展集群 212

8.4.1 理论阐释 212

8.4.2 实战操作 212

第9章 部署微服务 215

9.1 导语 215

9.2 配置服务以在容器中运行 216

9.2.1 理论阐释 217

9.2.2 实战操作 217

9.3 使用Docker Compose运行多容器应用程序 218

9.3.1 理论阐释 218

9.3.2 实战操作 218

9.4 在Kubernetes上部署服务 220

9.4.1 理论阐释 220

9.4.2 实战操作 221

9.5 使用金丝雀部署方式测试版本 223

9.5.1 理论阐释 223

9.5.2 实战操作 224


展开全部

作者简介

保罗·奥斯曼有十多年的构建内部和外部平台的经验。从面向第三方的公共API到内部平台团队,他帮助构建了支持大型消费者应用的分布式系统。他拥有管理多个工程师团队的经历,致力于快速交付基于服务的软件系统。 保罗·奥斯曼发表过多篇有关微服务和运维一体化的技术文章,并进行了多次主题演讲。他是开放技术平台和工具的热情拥护者。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航