微服务架构设计模式
内容简介
成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。在这本书籍中解释了 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: 此资源仅供学习交流,切莫用于商用,侵权删除。