搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
微服务开发实战
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302581857
  • 作      者:
    (美)保罗·奥斯曼著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2021
收藏
编辑推荐

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

展开
作者简介

    保罗·奥斯曼有十多年的构建内部和外部平台的经验。从面向第三方的公共API到内部平台团队,他帮助构建了支持大型消费者应用的分布式系统。他拥有管理多个工程师团队的经历,致力于快速交付基于服务的软件系统。

    保罗·奥斯曼发表过多篇有关微服务和运维一体化的技术文章,并进行了多次主题演讲。他是开放技术平台和工具的热情拥护者。


展开
内容介绍

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

展开
目录

第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


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证