微服务架构设计模式

内容简介

成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。在这本书籍中解释了 44 个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。本书还讲述如何开发和部署生产级别的微服务架构应用,以帮助你设计、实现、测试和部署基于微服务的应用程序。

图片

目录

第1章 逃离单体地狱 / 1

1.1 迈向单体地狱的漫长旅程 / 2

1.2 为什么本书与你有关 / 7

1.3 你会在本书中学到什么 / 8

1.4 拯救之道:微服务架构 / 8

1.5 微服务架构的好处和弊端 / 15

1.6 微服务架构的模式语言 / 19

1.7 微服务之上:流程和组织 / 29

第2章 服务的拆分策略 / 34

2.1 微服务架构到底是什么 / 35

2.2 为应用程序定义微服务架构 / 43

第3章 微服务架构中的进程间通信 / 63

3.1 微服务架构中的进程间通信概述 / 64

3.2 基于同步远程过程调用模式的通信 / 70

3.3 基于异步消息模式的通信 / 82

3.4 使用异步消息提高可用性 / 99

第4章 使用Saga管理事务  / 106

4.1 微服务架构下的事务管理 / 107

4.2 Saga的协调模式 / 113

4.3 解决隔离问题 / 121

4.4 Order Service和Create Order Saga的设计 / 127

第5章 微服务架构中的业务逻辑设计 / 141

5.1 业务逻辑组织模式 / 142

5.2 使用聚合模式设计领域模型 / 146

5.3 发布领域事件 / 154

5.4 Kitchen Service的业务逻辑 / 162

5.5 Order Service的业务逻辑 / 167

第6章 使用事件溯源开发业务逻辑 / 176

6.1 使用事件溯源开发业务逻辑概述 / 177

6.2 实现事件存储库 / 194

6.3 同时使用Saga和事件溯源 / 201

第7章 在微服务架构中实现查询 / 212

7.1 使用API组合模式进行查询 / 213

7.2 使用CQRS模式 / 220

7.3 设计CQRS视图 / 228

7.4 实现基于AWS DynamoDB的CQRS视图 / 233

第8章 外部API模式 / 244

8.1 外部API的设计难题 / 245

8.2 API Gateway模式 / 250

8.3 实现一个API Gateway / 260

第9章 微服务架构中的测试策略(上) / 282

9.1 微服务架构中的测试策略概述 / 284

9.2 为服务编写单元测试 / 296

第10章 微服务架构中的测试策略(下) / 308

10.1 编写集成测试 / 308

10.2 编写组件测试 / 324

10.3 端到端测试 / 334

第11章 开发面向生产环境的微服务应用 / 338

11.1 开发安全的服务 / 339

11.2 设计可配置的服务 / 349

11.3 设计可观测的服务 / 353

11.4 使用微服务基底模式开发服务 / 367

第12章 部署微服务应用 / 371

12.1 部署模式:编程语言特定的发布包格式 / 374

12.2 部署模式:将服务部署为虚拟机 / 378

12.3 部署模式:将服务部署为容器 / 381

12.4 使用Kubernetes部署FTGO应用程序 / 386

12.5 部署模式:Serverless部署 / 402

12.6 使用AWS Lambda和AWS Gateway部署RESTful服务 / 406

第13章 微服务架构的重构策略 / 415

13.1 重构到微服务需要考虑的问题 / 416

13.2 将单体应用重构为微服务架构的若干策略 / 420

13.3 设计服务与单体的协作方式 / 429

13.4 将新功能实现为服务:处理错误配送订单 / 440

13.5 从单体中提取送餐管理功能 / 444

在WX公众号【Java全栈布道师】回复:135820

图片

PS: 此资源仅供学习交流,切莫用于商用,侵权删除。

posted @ 2022-04-27 20:45  渊渟岳  阅读(107)  评论(0编辑  收藏  举报