GitHub上标星72.4K总结51种微服务架构设计模式的文章,我爱了
微服务架构设计模式你需要学到的知识:
微服务架构的基本特点,它的好处和弊端,以及应该在什么情况下使用微服务架构。
分布式数据管理的架构模式。
针对微服务架构应用程序的有效测试策略。
微服务架构应用程序的部署方式。
把单体应用重构为微服务架构的策略。
你也需要掌握如下技术:
使用微服务的架构模式来设计应用程序的架构。
为服务开发业务逻辑。
使用Saga在进程间维护数据的一致性。
实现跨服务的数据查询。
更高效地测试微服务架构应用程序。
开发生产环境就绪的应用程序,实现安全性、可配置性和可观测性。
把现有的单体应用重构为服务。
以上全部的知识和技术,你都可以从下面这份微服务架构设计模式这份PDF中学到!(这份PDF的免费获取方式我放在了文末,需要的朋友可自取!)
第1章逃离单体地狱
本章导读:
- 单体地狱的特征,如何借助微服务架构逃离单体地狱
- 微服务架构的基本特征,它的好处和弊端
- 开发大型复杂应用时,如何借助微服务实现DevOps式开发风格
- 微服务架构的模式语言及为什么使用它
第2章服务的拆分策略
本章导读:
- 理解软件架构,以及它为什么如此重要
- 使用拆分模式中的业务能力模式和子域模式进行单体应用到服务的拆分
- 使用领域驱动设计中的限界上下文概念来分解数据,并让服务拆分变得更容易
第3章微服务架构中的进程间通信
本章导读:
- 通信模式的具体应用:远程过程调用、断路器、客户端发现、自注册、服务端发现、第三方注册、异步消息、事务性发件箱、事务日志拖尾、轮询发布者
- 进程间通信在微服务架构中的重要性
- 定义和演化 API
- 如何在各种进程间通信技术之间进行权衡
- 使用异步消息对服务的好处
- 把消息作为数据库事务的一部分可靠发送
第4章使用Saga管理事务
本章导读:
- 为什么分布式事务不适合现代应用程序
- 使用Saga模式维护微服务架构的数据一致性
- 使用协同和编排这两种方式来协调Saga
- 采用对策来解决缺乏隔离的问题
第5章微服务架构中的业务逻辑设计
本章导读:
- 设计业务逻辑组织模式:事务脚本模式和领域建模模式
- 使用领域驱动设计的聚合模式设计业务逻辑
- 在微服务架构中应用领域事件模式
第6章使用事件溯源开发业务逻辑
本章导读:
- 使用事件溯源模式开发业务逻辑
- 实现事件存储库
- 整合Saga和基于事件溯源的业务逻辑
- 使用事件溯源实现Saga编排器
第7章在微服务架构中实现查询
本章导读:
- 在微服务架构中查询数据的挑战
- 何时以及如何使用API组合模式实现查询
- 何时以及如何使用CQRS模式实现查询
第8章外部API模式
本章导读:
- 设计能够支持多种客户端的API的挑战
- 使用API Gateway模式和后端前置模式
- 设计和实现API Gateway
- 使用响应式编程来简化API组合
- 使用GraphQL实现API Gateway
第9章微服务架构中的测试策略(上)
本章导读:
- 微服务中有效的测试策略
- 使用模拟(mock)和桩(stub)对软件中的元素执行隔离测试
- 使用测试金字塔确定测试工作的重点
- 对服务中的类执行单元测试
第10章微服务架构中的测试策略(下)
本章导读:
- 在隔离环境中测试服务的技术。
- 使用消费者驱动的契约测试编写快速且可靠的测试,用来验证服务间的通信。
- 何时以及如何进行应用程序的端到端测试。
第11章开发面向生产环境的微服务应用
本章导读:
- 开发安全的服务
- 如何使用外部化配置模式
- 如何使用可观测性模式
- 健康检查API
- 日志聚合
- 分布式跟踪
- 异常跟踪
- 应用程序指标
- 审核日志记录
- 通过使用微服务基底模式简化服务的开发
第12章部署微服务应用
本章导读:
- 四个关键部署模式,它们如何工作,以及它们的好处和弊端:
- 编程语言特定的发布包格式
- 将服务部署为虚拟机
- 将服务部署为容器
- Serverless 部暑
- 使用Kubernetes部署服务
- 使用服务网格把服务发布环节与服务部署环节分开
- 使用AWS Lambda部署服务
- 选择部署模式
第13章微服务架构的重构策略
本章导读:
- 何时将单体应用迁移到微服务架构
- 在将单体应用重构为微服务架构应用时,为什么使用增量方法至关重要
- 将新功能实现为服务
- 从单体中提取服务
- 集成服务和单体
需要免费领取这份微服务架构设计模式的PDF的朋友,GitHub扫码免费获取:https://github.com/biws-byte/zhym