前言
经过这些年的发展,微服务已经成为软件领域的新宠!!!
大概从五六年前开始,我在工作中越来越多地谈到了微服务,并参与了一些客户应用的微服务改造,其中不乏成功的例子,当然也有没达到预期的情况。
随着网络基础设施的高速发展,以及越来越多的企业和组织需要通过互联网提供服务,在考虑构建可以支持海量请求以及多变业务的软件平台时,微服务架构就成为多数人的首选,同时,微服务架构的出现也是符合事物发展规律的!
所以小编给大家整理了这份《微服务架构设计模式》文档,并且将从目录,前言,主要内容,这三个部分大家讲解这本文档,同时希望对各位大哥朋友们有点作用,也希望你们会喜欢!最后,有需要这份《微服务架构设计模式》文档的朋友们只需要点点关注+转发,点击这段文字跳转GitHub扫码免费获取!
先来看看这份微服务架构目录
本书主要内容
这本《微服务架构设计模式》共13章,在这本书里,不仅有微服务领域已经识别出来的问题、解决思路和解决方案,也有相应的代码例子。所以,接下来小编就每章来给大家详细的讲解这份文档!!!
第1章逃离单体地狱
本章主要描述了所谓“单体地狱”的症状,当单体应用程序超出其架构时会出现这种问题,这可以通过采用微服务架构来规避。这一章还概述了微服务架构模式语言,这也是本书大部分内容的主题。
本章导读:
单体地狱的特征,如何借助微服务架构逃离单体地狱
微服务架构的基本特征,它的好处和弊端
开发大型复杂应用时,如何借助微服务实现DevOps 式开发风格
微服务架构的模式语言及为什么使用它?
第2章服务的拆分策略
本章解释了为什么软件架构很重要,描述了可用于将应用程序分解为服务集合的模式,并解释了如何克服在此过程中遇到的各种障碍~
本章导读:
理解软件架构,以及它为什么如此重要
使用拆分模式中的业务能力模式和子域模式进行单体应用到服务的拆分
使用领域驱动设计中的限界上下文概念来分解数据,并让服务拆分变得更容易
第3章微服务架构中的进程间通信
本章主要介绍了微服务架构中强大的进程间通信的几种模式,解释了为什么异步和基于消息的通信通常是最佳选择~
本章导读:
通信模式的具体应用:远程过程调用、断路器、客户端发现、自注册、服务端发现、第三方注册、异步消息、事务性发件箱、事务日志拖尾、轮询发布者
进程间通信在微服务架构中的重要性
定义和演化API
如何在各种进程间通信技术之间进行权衡
使用异步消息对服务的好处
把消息作为数据库事务的一部分可靠发送
第4章使用Saga管理事务
本章主要介绍如何使用Saga模式维护服务间的数据一致性。Saga是通过传递异步消息的方式进行协调的一系列本地事务~
本章导读:
为什么分布式事务不适合现代应用程序
使用Saga模式维护微服务架构的数据一致性
使用协同和编排这两种方式来协调 Saga
采用对策来解决缺乏隔离的问题
第5章微服务架构中的业务逻辑设计
本章主要介绍如何使用领域驱动设计(DDD)的聚合和领域事件等模式为服务设计业务逻辑~
本章导读:
设计业务逻辑组织模式:事务脚本模式和领域建模模式
使用领域驱动设计的聚合模式设计业务逻辑
在微服务架构中应用领域实践模式
第6章使用事件溯源开发业务逻辑
本章以第5章为基础,解释了如何使用事件溯源模式开发业务逻辑,事件溯源模式是一种以事件为中心的设计思路,用来构建业务逻辑和持久化领域对象~
本章导读:
使用事件溯源模式开发业务逻辑
实现事件存储库
整合Saga和基于事件溯源的业务逻辑
使用事件溯源实现 Saga编排器
第7章在微服务架构中实现查询
本章主要介绍如何使用API组合模式或命令查询职责隔离(CQRS)模式,这两个模式用来实现查询分散在多个服务中的数据~
本章导读:
在微服务架构中查询数据的挑战
何时以及如何使用API组合模式实现查询
何时以及如何使用CQRS模式实现查询
第8章外部API模式
本章主要介绍了处理来自各种外部客户端请求的外部API模式,例如移动应用程序、基于浏览器的JavaScript应用程序和第三方应用程序~
本章导读:
设计能够支持多种客户端的API的挑战
使用API Gateway模式和后端前置模式
设计和实现API Gateway
使用响应式编程来简化API组合
使用 GraphQL 实现 APl Gateway
第9章微服务架构中的测试策略(上)
本章是关于微服务自动化测试技术的两章中的第一章,介绍了重要的测试概念,例如测试金字塔,描述了测试套件中每种测试类型的相对比例,还展示了如何编写构成测试金字塔基础的单元测试。
本章导读:
微服务中有效的测试策略
使用模拟(mock)和桩(stub)对软件中的元素执行隔离测试
使用测试金字塔确定测试工作的重点
对服务中的类执行单元测试
第10章微服务架构中的测试策略(下)
本章以第9章为基础,描述了如何在测试金字塔中编写其他类型的测试,包括集成测试、消费者契约测试和组件测试等~
本章导读:
在隔离环境中测试服务的技术
使用消费者驱的契约测试编写快速且可靠的测试,用来验证证服务间的通信
何时以及如何进行应用程序的端到端测试
第11章开发面向生产环境的微服务应用
本章介绍了开发生产就绪服务的各个方面,包括安全性、外部化配置模式和服务可观测性模式。服务可观测性模式包括日志聚合、应用指标和分布式追踪。
本章导读:
开发安全的服务
如何使用外部化配置模式
如何使用可观测性模式
健康检查API
日志聚合
分布式跟踪
异常跟踪
应用程序指标
审核日志记录
通过使用微服务基底模式简化服务的开发
第12章部署微服务应用
本章主要介绍了可用于部署服务的各种部署模式,包括虚拟机、容器和Serverless模式。还介绍了使用服务网格的好处,服务网格是在微服务架构中处理服务间通信的一个网络软件层。
本章导读:
四个关键部署模式,它们如何工作,以及它们的好处和弊端:
使用 Kubernetes 部署服务
使用服务网格把服务发布环节与服务部署环节分开
使用AWS Lambda 部署服务
选择部署模式
第13章微服务架构的重构策略
本章介绍了如何通过采用绞杀者(Strangler)模式逐步将单体架构重构为微服务架构,绞杀者模式是指以服务形式实现新功能,从单体中提取模块将其转换为服务~
本章导读:
何时将单体应用迁移到微服务架构
在将单体应用重构为微服务架构应用时,为什么使用增量方法至关重要
将新功能实现为服务
从单体中提取服务
集成服务和单体
领取方式
点赞+关注+转发,点击这段文字跳转GitHub扫码免费获取——这份《微服务架构设计模式》文档!!!
网友评论