写点什么

BATJ 架构师首推!分布式事务原理与实战,出神入化

作者:程序知音
  • 2023-05-19
    湖南
  • 本文字数:2777 字

    阅读完需:约 9 分钟

前言

广度与深度兼备、理论与实战兼顾的《分布式事务原理与实战》从以下 5 个维度全面深入的讲解了分布式事务:

  1. 基础知识维度:首先全面介绍了事务和分布式事务的概念和基础知识,然后详细讲解了 MySQL 事务和 Spring 事务的实现原理。

  2. 解决方案维度:详细介绍了分布式事务的各种解决方案,包括强一致 性分布式事务解决方案和最终一致性分布式事务解决方案。

  3. 原理分析维度:详细讲解了分布式事务的原理,包括 XA 强一致性分 布式事务、TCC 分布式事务、可靠消息最终一致性分布式事务和最大努力 通知型分布式事务的原理。

  4. 源码实现维度:深入分析了 Atomikos、Narayana 框架实现 XA 强一致性 分布式事务解决方案的源码,以及 Dromara 开源社区的 Hmily 分布式事务框 架实现 TCC 分布式事务的源码。

  5. 工程实践维度:通过多个在生产环境中经历了高并发、大流量考验的 综合案例,讲解了 XA 强一致性分布式事务、TCC 分布式事务、可靠消息 最终一致性分布式事务和最大努力通知型分布式事务的工程实践方法。


咱们一起来看看大致内容:

目录

【有需要的可以--> 点击这里即获取我的资料笔记 <--- 即可

第一部分 分布式事务基础


第 1 章 事务的基本概念

本章主要介绍事务的基础知识,包括事务的特性、事务的类型、本 地事务的概念、MySQL 事务基础以及最佳实践等。



第 2 章 MySQL 事务的实现原理

本章主要介绍了 MySQL 事务的实现原理,对 Redo Log、Undo Log 和 BinLog 进行了简单的介绍,然后介绍了 MySQL 事务的流程,包括 MySQL 事务的执行流程和 MySQL 事务的恢复流程,最后简单介绍了 MySQL 的 XA 事务。


第 3 章 Spring 事务的实现原理

本章简单介绍了 Spring 的事务原理以及事务的三大接口:PlatformTransactionManager、TransactionDefinition 和 TransactionStatus。接着介绍了 Spring 的事务隔离级别和传播机制。然后以案例的形式详细阐述了 Spring 的事务嵌套。最后列举了常见的几种 Spring 事务失效的场景。


第 4 章 分布式事务的基本概念

本章首先简单介绍了分布式系统架构的产生背景、目标和原则,接着 介绍了分布式系统架构的演进历程,包括单体应用架构、垂直应用架构、 分布式架构、SOA 架构和微服务架构,随后介绍了分布式事务产生的场 景,最后介绍了数据的一致性问题。


第 5 章 分布式事务的理论知识

本章的内容比较简单,介绍了分布式事务中的两大基本理论:CAP 理 论和 Base 理论。


第二部分 分布式事务解决方案


第 6 章 强一致性分布式事务解决方案

本章主要介绍了强一致性分布式事务的解决方案,包括强一致性分布 式事务概述、DTP 模型、2PC 模型和 3PC 模型,并详细描述了各个模型的 执行流程,同时对 2PC 模型和 3PC 模型存在的问题进行了简单的介绍。


第 7 章 最终一致性分布式事务解决方案

本章主要对分布式事务解决方案中的最终一致性分布式事务解决方案 进行了简单的介绍,然后介绍了最终一致性分布式事务解决方案的服务模 式,接着介绍了分布式事务中三大经典的最终一致性解决方案,分别为 TCC 解决方案、可靠消息最终一致性解决方案和最大努力通知型解决方案。



第三部分 分布式事务原理


第 8 章 XA 强一致性分布式事务原理

本章首先介绍了 DTP 模型、XA 规范以及 MySQL 作为资源管理器对 XA 规范的支持,接着对 XA 规范的缺陷进行了一些思考并提出了相关的解决方案,最后简单介绍了目前主流的 XA 开源解决方案。


第 9 章 TCC 分布式事务原理

本章主要对 TCC 分布式事务的原理进行了简单的介绍。首先介绍了 TCC 分布式事务的核心思想,接下来介绍了 TCC 分布式事务的实现原理, 包括 TCC 分布式事务的核心组成部分和 TCC 分布式事务的核心原理,随后 对 TCC 分布式事务的核心流程进行了详细的介绍,最后简单介绍了实现 TCC 分布式事务的关键技术


第 10 章 可靠消息最终一致性分布式事务原理

本章主要介绍了可靠消息最终一致性的原理,首先介绍了可靠消息最 终一致性的基本原理。接下来分别介绍了可靠消息最终一致性的三种实现原理,分别为本地消息表,独立消息服务和 RocketMQ 事务消息。随后介绍了消息发送的一致性和消息接收的一致性。最后简单介绍了消息的可靠性。只有满足了本章所描述的全部内容,才能实现一个完整的可靠消息最终一致性分布式事务解决方案。


第 11 章 最大努力通知型分布式事务原理

本章的内容比较简单,主要对最大努力通知型分布式事务的原理进行了简单的介绍。首先总结了最大努力通知型分布式事务的使用场景和方案特点。然后简单介绍了最大努力型分布式事务的基本原理和异常情况的处理方式。


第四部分 分布式事务源码与实战


第 12 章 XA 强一致性分布式事务解决方案源码解析

本章的内容比较简单,主要对最大努力通知型分布式事务的原理进行 了简单的介绍。首先总结了最大努力通知型分布式事务的使用场景和方案 特点。然后简单介绍了最大努力型分布式事务的基本原理和异常情况的处理方式。


第 13 章 Hmily-TCC 分布式事务解决方案源码解析

本章首先搭建了 Hmily-TCC 分布式事务场景,以便于进行源码调试。 然后分析了 Hmily 框架的整体初始化流程,尤其是加载配置,初始化事务 日志存储。接下来根据搭建的环境,模拟了一次 TCC 分布式事务的请求, 并根据请求完成了 Hmily-TCC 框架中 Try、Confirm、Cancel 阶段的源码解 析。接着讲解了 Hmily 如何整合目前主流的 RPC 框架,支持分布式事务。 最后讲解了 Hmily 框架中 TCC 场景的事务恢复原理与逻辑。


第 14 章 XA 强一致性分布式事务实战

本章主要使用 Atomikos 框架实现了 XA 强一致性分布式事务。首先, 对业务的场景和程序模块进行了简单的说明。然后,简单介绍了数据库表设计。接着,详细介绍了整个项目的实现过程。最后对项目实现的效果进行了测试。


第 15 章 TCC 分布式事务实战

本章主要基于 Hmily 框架实现了模拟跨行转账业务的 TCC 分布式事务 场景。首先对业务场景和程序模块进行了简单的说明。接下来,对数据库 表结构进行了简单的介绍。随后详细描述了项目的公共模块、转出银行微 服务和转入银行微服务的实现过程。最后,对整个 TCC 分布式事务场景进 行了简单的测试。


第 16 章 可靠消息最终一致性分布式事务实战

本章实现了一个相对比较完整的基于可靠消息最终一致性分布式事务 案例,首先对案例的业务场景和案例的各个程序模块进行了简单的说明, 因为案例是基于 RocketMQ 实现的,所以对 RocketMQ 的环境搭建进行了介 绍。随后对案例的数据库设计、订单微服务的实现和库存微服务的实现进 行了简单的介绍。最后对案例程序进行了测试。


第 17 章 最大努力通知型分布式事务实战

本章主要以经典的账户充值业务场景为例,实现了一个完整的最大努 力通知型分布式事务案例。首先对业务场景和程序模块进行了简单的说 明,接下来简单说明了数据库表设计,随后重点实现了账户微服务和充值 微服务,最后对案例程序进行了测试。

【有需要的可以--> 点击这里即获取我的资料笔记 <--- 即可

适合此笔记的读者

  • 互联网从业者,如中高级开发人员、架构师、技术经理、技术专家;

  • 需要系统学习分布式事务的开发人员;

  • 需要提高分布式事务开发水平的人员;

  • 需要时常查阅分布式事务技术资料和开发案例的人员;

用户头像

程序知音

关注

还未添加个人签名 2022-06-25 加入

还未添加个人简介

评论

发布
暂无评论
BATJ架构师首推!分布式事务原理与实战,出神入化_Java_程序知音_InfoQ写作社区