它来了!阿里大佬亲手撰写分布式:分布式事务(CAP、两阶段提交、三阶段提交)

来了,大话分布式:分布式事务(CAP、两阶段提交、三阶段提交) 1 关于分布式系统 1.1 介绍 我们常见的单体结构的集中式系统,一般整个项目就是一个独立的应用,所有的模块都聚合在一起。明显的弊端就是不易扩展、发布冗重、服务治理不好做。 所以我们把整个系统拆分成若干个具备独立运行能力的计算机服务的集合,而从用户的角度看,是一个完整的系统,但实际上,它是一个分布式服务的集合。 分布式系统主要从以下几个方面进行裂变: 应用可以从业务领域拆分成多个module,每个module还可以再按项目结构分成接口层、业务层、数据访问层;当然也可以按访问入口进行拆分,如移动、桌 阅读详情

1 关于分布式系统

1.1 介绍
我们常见的单体结构的集中式系统,一般整个项目就是一个独立的应用,所有的模块都聚合在一起。明显的弊端就是不易扩展、发布冗重、服务治理不好做。
所以我们把整个系统拆分成若干个具备独立运行能力的计算机服务的集合,而从用户的角度看,是一个完整的系统,但实际上,它是一个分布式服务的集合。
分布式系统主要从以下几个方面进行裂变:

  • 应用可以从业务领域拆分成多个module,每个module还可以再按项目结构分成接口层、业务层、数据访问层;当然也可以按访问入口进行拆分,如移动、桌面、Web端访问的是不同的类型接口服务;
  • 数据库可以按业务类型拆分成多个实例,还可以对单库或单表进行分库分表;参考我的这篇《分库分表》
  • 增加一些中间件,来保证分布式系统的高可用,如分布式缓存、搜索服务、文件服务、消息队列、非关系型数据库等中间件;

1.2 优势和不足
分布式系统可以解决集中式不便扩展的弊端,提供了便捷的扩展性、独立的服务治理,并提高了安全可靠性。随着微服务技术(Spring Cloud、Dubbo) 以及容器技术(Kubernetes、Docker)的大热,分布式技术发展非常迅速。
不足的地方:分布式系统虽好,但也带来了系统的复杂性,如分布式事务、分布式锁、分布式session、数据一致性等都是现在分布式系统中需要解决的难题,虽然已经有很多成熟的方案,但都不完美。
分布式系统的便利,其实是牺牲了一些开发、测试、运维 成本低,让工作量增加了,所以分布式系统管理不好反而会变成一种负担。
2 分布式事务
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。
分布式场景下一次完整的操作由不同的action组成,这些actions可能分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些action要么全部成功,要么全部失败。保证单个完整操作的原子性。
本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
2.1 CAP理论
CAP 定理(也称为 Brewer 定理),指的是在分布式计算环境下,有3个核心的需求:
1、一致性(Consistency):再分布,所有实例节点同一时间看到是相同的数据
2、可用性(Availability):不管是否成功,确保每一个请求都能接收到响应
3、分区容错性(Partition Tolerance):系统任意分区后,在网络故障时,仍能操作
CAP理论告诉我们,分布式系统不可能同时满足以下三种。最多只能同时满足其中的两项,因为很多时候P是必须的, 因此往往选择就在CP或者AP中
2.2 CAP的组合情况
CA: 放弃分区容错性。非分布式架构,比如关系数据库,因为没有分区,但是在分布式系统下,CA组合就不建议了。
AP: 放弃强一致性。追求最终一致性,类似的场景比如转账,可以接受两小时后到账,Eureka的注册也是类似的做法。
CP: 放弃可用性。zookeeper在leader宕机后,选举期间是不提供服务的。类似的场景比如支付完成之后出订单,必须一进一出都完成才行。
结论:在分布式系统中AP运用的最多,因为他放弃的是强一致性,追求的是最终一致性,性价比最高


2.3 数据一致性模型
分布式系统通过同步数据的副本来提高系统的可靠性和容错性,而且数据的不同的副本,合理会存在不同的机器或集群上。
强一致性:
当用户的操作完成之后,会立马被同步到不同的数据副本中,后续其他任意请求都会获得更新过的值。这种对用户的可见性是最友好的,能始终保证读到正确的值。根据 CAP 理论上,这种实现需要牺牲可用性。
弱一致性:
系统并不保证所有请求的访问都会获得最新值。数据写入成功之后,不承诺立即可以读,也不承诺具体多久之后可以读到,甚至读不到。在请求获得数据更新的这段时间,我i们称之为“不一致性窗口”。
最终一致性:
是弱一致性的一种。系统保证在没有后续更新的前提下,系统最终会返回上一次更新操作的值。在没有故障发生的前提下,不一致窗口的时间主要受通信延迟,系统负载和复制副本的个数影响。
常见的事务处理机制:
1、Master-Slave 复制:写请求由 Master 负责,写入 Master 后,由 Master 同步到 Slave 上。
异步同步,所以是弱/最终一致性。
2、Master-Master 主主复制
异步同步,最终的一致性,多个节点间需要序列化协议。
2.4 分布式事务应用场景
2.4.1 典型支付场景
这是最经典的场景。支付过程,要先对买家账户进行扣款,同时对卖家账户进行付款,
像这类的操作,必须在一个事务中执行,保证原子性,要么都成功,要么都不成功。但是往往买家的支付平台和卖家的支付平台不一致,即使都在一个平台下,所属的业务服务和数据服务
(归属不同表甚至不同库,比如卖家中心库、卖家中心库)也不是同一个。针对于不同的业务平台、不同的数据库做操作必然要引入分布式事务。
2.4.2 在线下单
同理,买家在电商平台下单,往往会涉及到两个动作,一个是扣库存,第二个是更新订单状态,库存和订单一般属于不同的数据库,需要使用分布式事务保证数据一致性。


2.4.3 跨行转账
跨行转账问题也是一个典型的分布式事务,用户A同学向B同学的账户转账500,要先进行A同学的账户-500,然后B同学的账户+500,既然是不同的银行,
涉及不同的业务平台,为了保证这两个操作步骤的一致,分布式事务必然要被引入。


2.5 常见分布式一致性保障(分布式事务解决方案)
2.5.1 XA 两阶段提交协议
两阶段提交协议(Two-phase commit protocol),简称2PC,过程涉及到协调者和参与者。
它是一种强一致性设计,引入一个事务协调者的角色来协调管理各参与者的提交和回滚,二阶段分别指的是准备(投票)和提交两个阶段。
第一阶段(准备阶段)
为事务协调者的节点会首先向所有的参与者节点发送Prepare请求。
在接到Prepare请求之后,每一个参与者节点会各自执行与事务有关的数据更新,写入Undo Log(撤销)和 Redo Log(重做)。
如果参与者执行成功,暂时不提交事务,而是向事务协调节点返回“完成”消息。当事务协调者接到了所有参与者的返回消息,整个分布式事务将会进入第二阶段。


假如在第一阶段有一个参与者返回失败,那么协调者就会向所有参与者发送回滚事务的请求,即分布式事务执行失败。如下图:


第二阶段(提交阶段)
如果事务协调节点在之前所收到都是正向返回,那么它将会向所有事务参与者发出Commit请求。
接到Commit请求之后,事务参与者节点会各自进行本地的事务提交,并释放锁资源。当本地事务完成提交后,将会向事务协调者返回“完成”消息。
当事务协调者接收到所有事务参与者的“完成”反馈后,整个分布式事务完成。


当有一个Commit 不成功,那其他的应该也是提交不成功的。


2.5.2 XA三阶段提交
三阶段提交:CanCommit 阶段、PreCommit 阶段、DoCommit 阶段,简称3PC
三阶段提交协议(Three-phase commit protocol,3PC),是二阶段提交(2PC)的改进版本。与两阶段提交不同的是,三阶段提交有两个改动点:
引入超时机制。同时在协调者和参与者中都引入超时机制。
在第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与节点的状态是一致的。
即 3PC 把 2PC 的准备阶段再次一分为二,这样三阶段提交就有 CanCommit、PreCommit、DoCommit 三个阶段。当 CanCommit、PreCommit、DoCommit
的任意一个步骤失败或者等待超时,执行RollBack。


利用消息中间件来异步完成事务的后半部分更新,实现系统的最终一致性。这个方式避免了像XA协议那样的性能问题。
下面的图中,使用MQ完成事务在分布式的另外一个子系统上的操作,保证了动作一致性。


2.5.4 TCC事务
TCC事务是Try、Confirm、Cancel三种指令的缩写,其逻辑模式类似于XA两阶段提交,但是实现方式是在代码层面人为实现。2PC 和 3PC 都是数据库层面的,而 TCC 是业务层面的分布式事务。
分布式事务除了上面提到的数据库层面的操作外,还包括发送短信、邮件这种业务操作等,这时候 TCC 就有用武之地了!
图中就是一个典型的分布式系统的原子性操作,涉及A、B、C三个服务的执行。如果有一个服务 try 出问题,整个事务管理器就执行calcel,如果三个try都成功,才执行confirm做正式提交。


2.5.5 最终补偿机制,同于MQ事务
最后使用补偿机制做最后的一致性保障,MQ方案尽量使用补偿机制进行保障。

文章最后附上Java面试专题,希望对正在准备面试的小伙伴有所帮助!

 

Java分布式事务与微服务架构面试核心解析 分布式事务是微服务架构中的关键技术挑战,其核心在于解决跨服务的数据一致性问题。从技术原理看,CAP定理与BASE理论构成了分布式系统的理论基础,而2PC、TCC、Saga等模式则是常见的工程实现方案。在电商、金融等高并发场景中,分布式事务技术能有效保障交易数据的准确性,避免超卖、重复支付等业务风险。随着云原生架构的普及,Seata等开源框架为分布式事务提供了标准化解决方案。对于Java工程师而言,深入理解分布式事务原理与微服务架构设计,不仅是应对大厂面试的关键,更是构建高可用系统的必备技能。 阅读详情

相关推荐

面试项目经验介绍:从STAR法则到分布式事务实战

在软件工程实践中,项目经验介绍是衡量开发者综合能力的重要环节。其核心在于通过结构化表达,清晰展现技术决策背后的思考过程。从技术原理层面看,这涉及到对分布式系统核心挑战的理解,例如在高并发场景下如何保障数据一致性。分布式事务是解决这一挑战的关键技术之一,其价值在于平衡系统可用性与数据准确性,确保业务逻辑的正确执行。常见的实现方案包括基于消息队列的最终一致性模型,它通过异步和解耦提升系统吞吐量。在应用场景上,电商交易、库存管理等系统都需要可靠的事务机制来支撑。本文聚焦于面试中的项目阐述,以电商订单系统为例,深入

weixin_33672400的博客 344

对分布式事务及两阶段提交、三阶段提交的理解

一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据一致性 在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。 造成事实上的数据不一致。 (2)CAP定理 CAP理论认为在分布式的环境下设计和部署

TimzzZ的博客 2224

Java后端面试全景攻略:从八股文到系统设计的JavaGuide面试突击版5.0深度解析

在"金三银四"和秋季招聘的技术面试高峰期,如何系统性准备成为众多开发者的痛点。零散的知识点背诵难以应对深入的源码追问,缺乏项目经验更是让环节成为硬伤。全套资源(含面试突击版5.0、必读源码系列、大厂真题等),恰好构建了一条从基础八股到架构设计的完整面试准备路径。

sdh118的博客 647

分布式事务之三阶段提交,你了解多少?

三阶段提交(3PC)是二阶段提交(2PC)的改进版本,三阶段提交协议主要是为了解决两阶段提交协议的阻塞问题,2pc存在的问题是当协调者崩溃时,参与者不能做出最后的选择。因此参与者可能在协调者恢复之前保持阻塞。三阶段提交(Three-phase commit),是二阶段提交(2PC)的改进版本。 三阶段提交3PC 与两阶段提交不同的是,三阶段提交有两个改动点: 引入超时机制。同时在协调者和参与者中都引入超时机制; 在第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与节点的状态是一致的

互联网架构小马的博客 1216

大厂面试全流程复盘:从算法刷题到Offer谈判的实战指南

在技术岗位的求职竞争中,面试考察的不仅是知识储备,更是系统化的问题解决能力。从数据结构与算法的基础功底,到分布式系统、高并发场景下的架构设计,再到项目经验的深度复盘,每一个环节都决定了候选人能否在激烈的大厂筛选中脱颖而出。理解核心原理,如TCP连接状态变迁、B+树索引结构、缓存一致性策略,能帮助工程师将零散经验转化为可迁移的技术判断力;而系统设计能力的提升,则直接服务于秒杀系统、短链服务等真实业务场景的架构决策。本文从简历打磨、刷题节奏、面试表达、Offer谈判等维度,梳理出一条可落地的求职路径,助力技术人

weixin_33875564的博客 552

分布式事务三阶段提交3PC详解

3PC 利用超时机制解决了 2PC 同步阻塞问题,避免资源被永久锁定,进一步加强了整个事务过程可靠性。但 3PC 同样无法应对类似宕机问题,只不过出现多数据源中数据不一致问题概率更小。a. 概念:三阶段提交协议在协调者和参与者中都引入超时机制,并且把两阶段提交协议的第⼀个阶段拆分成了两步:询问,然后再锁资源,最后真正提交。这样三阶段提交就有CanCommit、PreCommit、DoCommit三个阶段。

刘皇叔说Java的博客 2288

分布式事务:二阶段、三阶段、TTC

二阶段提交 二阶段提交,是指将事务提交分成两个部分:准备阶段和提交阶段。事务的发起者称之为协调者,事务的执行者称为参与者。 阶段一:准备阶段 由协调者发起并传递带有事务信息的请求给各个参与者,询问是否可以提交事务,并等待返回结果。 各个参与者执行事务操作,将Undo和Redo放入事务日志中(但是不提交) 如果参与者执行成功就返回YES(可以提交事务),失败NO(不能提交事务) 阶段二:提交阶段 提交事务:(所有参与者均反馈YES) 协调者向所有参与者发出正式提交事务的请求(即Commit请

L13763338360的博客 3397

一键转换B站M4S缓存为MP4:无需FFMPEG命令的简易工具

本文介绍了一款专为B站用户设计的绿色工具,可将缓存的M4S视频和音频文件一键转换为通用MP4格式。该工具完全图形化操作,无需学习复杂的FFmpeg命令,解决了普通用户处理B站缓存视频的痛点。文章详细讲解了从下载、配置到转换的完整流程,并提供了常见问题排查与安全使用建议,帮助用户高效、安全地管理离线视频内容。

joy55的博客 480

分布式事务,两阶段提交和三阶提交【转载】

一、什么是分布式事务 在分布式系统中,为了保证数据的高可用,通常我们会将数据保留多个副本,同时这些副本会存储到不同的物理机器上,这就是分布式。 为了保证数据的一致性,需要用到分布式事务 1.1 什么是事务? 事务是指对数据的一系列操作要么全部执行要么全部不执行 1.2事务的实现步骤 1.数据库将一系列要执行的操作全部记录成日志 2.逐条执行这一系列操作 3.如果这一系列操作全部执行...

蓝天⊙白云的博客 1233

从零开始:如何用Python手绘波特图并分析电路稳定性

本文详细介绍了如何使用Python绘制波特图并分析电路稳定性,涵盖从基础理论到实际应用的完整流程。通过NumPy和Matplotlib实现频域分析,包括RC低通滤波器和RLC带通滤波器的案例,以及相位裕度计算等高级技巧,为电子工程师提供了一套高效的电路分析解决方案。

hhh00的博客 371

SAPGUI excel 导出时遇到的运行时错误:STRING_SIZE_TOO_LARGE

当报表导出需求远超单一 XLSX 文件的物理承载力时,与其在 SAPGUI 中硬拼 2 GB 限制,不如把分页、过滤、流式写入作为设计前提。掌握 ABAP2XLSX 或 CSV + Power Query 等工具链,既能满足审计合规,又能让应用服务器远离的噩梦。祝你在下一次导出海量数据时,既高效又优雅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 641

java工程师终极职业规划:从入行到35+岁后的“第二曲线”生存法则

Java是一门成熟、稳健、工业级的语言。选择Java,往往意味着选择了一种与“狂野创新”相对的“稳健务实”的工程哲学。35岁之后的Java工程师,不应再像年轻时那样追逐每一个新出的框架,而应像一位经验丰富的老船长,懂得如何在惊涛骇浪中掌舵,如何利用现有的工具组合解决复杂的现实问题。

一火的专栏 396

王炸联动!OpenClaw 对接微信 / 企业微信保姆级教程,AI 办公效率翻倍

《OpenClaw对接微信/企业微信全指南》摘要:本文提供开源AI智能体OpenClaw与微信生态的完整对接教程。核心内容包括企业微信配置四步法(获取凭证、修改配置、重启服务、验证对接)和个人微信通过企业微信插件的一键打通方案。对接后支持微信/企微发指令AI秒执行、群聊机器人、文件同步等高效办公场景,并附常见问题排查代码。教程强调配置简单(全程可复制代码)、适用广泛(个人/团队场景),实现沟通与AI协作的无缝衔接。文末包含端口放行等实用命令,助力用户快速实现移动端AI办公。(149字)

2501_93651177的博客 584

数据科学与大数据技术:专业差异、核心课程与职业路径全解析

在数据驱动的时代,理解数据处理的核心概念至关重要。数据科学侧重于通过数学统计和机器学习模型,从数据中提取洞察、发现规律,其价值在于支持预测性分析和智能决策,广泛应用于推荐系统、金融风控等领域。大数据技术则聚焦于分布式系统架构,如Hadoop和Spark,旨在构建高效、稳定、可扩展的数据处理平台与管道,确保海量数据能够被可靠地存储、计算与应用,支撑起各类数据密集型系统的工程实现。本文通过对比数据科学与大数据技术两大专业方向,从培养目标、核心课程到就业场景进行系统辨析,为相关领域的学习者与从业者提供清晰的路径参

weixin_34006468的博客 436

海德汉机床采集数据

海德汉数控系统我一般在高端机床上见得比较多。有好多五轴加工精度比较高的机床都用的是海德汉的系统。市面上常见的有530和640等型号。海德汉的采集还是有点难度的,需要对SDK有深度的了解。

若云流风的专栏 1529

深度解构事务码 SQF:Support Query Framework 与 ABAP 静态分析实战

某制造企业在年度审计前,需要确认自定义发票过账程序 ZFI_INV* 系列是否存在硬编码公司代码与未捕获异常。技术团队在字段填入ZFI_INV*后,勾选与规则,执行扫描。SQF 生成的 ALV 报告列出 42 个警告,其中 17 条与抛出 CX_SY_NO_HANDLER 相关,8 条涉及动态 SQL 注入风险。结果导出至 Excel 供开发整改,并在 ATC 阶段验证修复。此过程较手工逐个执行 Code Inspector 节省超 80 % 时间。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 216

分布式事务两阶段提交VS三阶段提交?|通俗易懂

作者 | 磊哥来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)在分布式事务中,通常使用两阶段协议或三阶段协议来保障分布式事务的正常运行,它也是 X/Open 公司定义的一套分布式事务标准。X/Open 公司是由多家国际计算机厂商所组成的联盟组织,它建立之初是为了向 UNIX 环境提供标准。分布式事务是指在分布式系统中,多个节点之间进行的事务操作。比...

磊哥聊Java 401

具身智能机器人算法控制研究进展综述

具身智能(Embodied Intelligence)作为人工智能与机器人学的交叉前沿领域,强调智能体通过物理身体与环境的持续交互涌现智能行为。近年来,随着基础模型(Foundation Models)、扩散策略(Diffusion Policy)、视觉-语言-动作(Vision-Language-Action, VLA)模型以及大规模机器人数据集(如Open X-Embodiment)的快速发展,具身智能机器人的算法控制范式正经历深刻变革。

VectorShift的博客 229

分布式事务之——两段式、三段式

一、两段式 1、请求阶段(commit-request phase,或称表决阶段,voting phase) 事务询问。协调者向所有参与者发送事务内容,询问是否可以进行事务提交操作,然后就开始等待参与者的响应。 执行事务。各参与者节点执行事务操作(本地事务),并将Undo和Redo信息...

chenkui5098的博客 5193

SE80 Repository Information System 在 SAP CRM WebClient UI 组件分析中的实战指南

在 SAP CRM WebClient UI 开发过程中,如何快速定位组件、视图、上下文节点以及各类运行时对象,一直是调试效率的关键。(后文简称RIS)正是隐藏在SE80里的瑞士军刀,帮助开发者按照组件集、数据元素、上下文节点属性等多维条件进行交叉检索。官方博客将它描述为本文结合多年项目经验,系统梳理RIS的功能脉络与实战技巧,同时引入真实案例,示范如何借助它在几分钟内完成以往动辄数小时的排查任务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

分布式系统设计(3):分布式事务之两阶段/三阶段提交

协调者Coordinator给所有参与者Participants发送Prepare请求,让各个参与者执行本地事务操作,但是先不提交(只写日志/锁定数据),然后返回成功(Ready)或失败(Abort)。如下单系统,扣库存在库存服务节点,扣钱在支付服务节点,,订单写入在订单服务节点,这三步要么全部成功,要么全部失败。两阶段提交(2PC)- Coordinator控制所有参与者,第一阶段准备,第二阶段提交或回滚。,参与者不知道该提交还是回滚,导致锁住资源,系统资源卡死),提出了3PC提交理论。

qq_29414689的博客 502

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

分布式事务:两阶段提交与三阶段提交

满足ACID(原子性、一致性、隔离性、持久性)的一组操作,可以被称为一个事务。随着计算机系统的发展,越来越多的采用分布式的架构来对外提供服务,但是,不同的机器的处理性能、存储性能、网络状态等各有不同,让分布式集群始终对外提供可用的一致性服务一直是需要处理的问题。 为了保证数据变更请求在整个分布式环境下正确地执行,不会导致部分服务器暂时崩溃导致整个集群提供的服务和数据不再相同,在整个分布式系统处理数据变更请求的过程中,需要引入分布式事务的概念。...

mxb1234567的博客 6232

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大话分布式理论之一——从单体到SOA再到微服务

在最近这几年,微服务一直是分布式的代名词,所以开篇,我们先来了解微服务的历史。 在我们深入学习微服务的历史之前,有必要先了解一个定律——康威定律

D的博客 1341

【分布式事务】两阶段提交和三阶段提交的区别

2PC,即两阶段提交协议的简写,是整个事务过程分为两个阶段,准备阶段(Prepare phase)和提交阶段(Commit phase)3PC是2PC的改进版,将2PC的"提交事务请求"过程一分为二,共形成了由CanCommit,PreCommit和doCommit三个阶段组成的事务处理协议。

DreamSun的博客 1261

分布式事务——三阶段提交

在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica), 这些副本会放置在不同的节点上。这些数据节点可能是物理机器,也可能是虚拟机。为了对用户提供正确的CURD等语意,我们需要保证这些放置在不同节点上的副本是一致的,这就涉及分布式事务的问题。 本文介绍分布式事务处理方案之一的三阶段提交协议。 分布式事务 分布式事务是指发生在多个数据节点之间的事务,分布式事务比单机事务要复杂的多。在分布式系统中,各个节点之间在是相互独立的,需要通过网络进行沟通和协调。由于存在事务机制,可以保证

tianwailaikewbb的专栏 1025

漫画:什么是分布式事务?

点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!—————  第二天  —————————————————假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订

程序员小灰的博客 11万+
上一篇: 清华毕业的阿里p8大佬,亲自撰《SpringCloudAlibaba学习笔记》这细节讲解,绝绝子!
下一篇: 2022年大厂笔试最高频的十道算法题,你知道多少?
在酒吧写代码
博客等级 码龄7年 210粉丝 330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值