news 2026/3/10 13:45:38

【分布式系统】07 事务(上):2PC 与 3PC —— 追求“完美原子性”的理想与代价

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【分布式系统】07 事务(上):2PC 与 3PC —— 追求“完美原子性”的理想与代价

大家好,我是Tony Bai。

欢迎来到《分布式系统:原理、哲学与实战》微专栏的第七讲。

在上一讲中,我们征服了“分区”这片广阔的疆域。通过将数据“分而治之”,我们获得了构建海量系统的能力。但我们也留下了一个最棘手的“悬念”:

如果一次业务操作,需要原子性地修改位于不同分区的数据,我们该怎么办?

想象一个经典的银行转账场景:用户 Gopher 要从他在分区 A 的储蓄账户,转账 100 元到他在分区 B 的信用卡账户。这个操作包含两个步骤:

  1. 储蓄账户(分区 A)扣款 100 元。

  2. 信用卡账户(分区 B)入账 100 元。

我们对这个操作有一个神圣的、不可违背的要求:原子性 (Atomicity)。这两个步骤必须要么全部成功,要么全部失败。我们绝不能接受扣款成功但入账失败(钱没了),或者扣款失败但入账成功(天降横财)的情况。

在单机数据库中,BEGIN TRANSACTION...COMMIT语句优雅地为我们解决了这个问题。但现在,数据被分割在两个独立的、通过不可靠网络连接的物理节点上。我们如何在一个被“分裂”的世界里,重塑“原子性”的辉煌?

今天,我们将深入探讨对这个问题最早、也是最经典的回答——**两阶段提交协议 (Two-Phase Commit, 2PC)**。我们将看到,它是一个试图在分布式世界中,完美复刻单机事务的“理想主义”英雄。

然而,当这个“英雄”暴露出其致命的脆弱性时,一场旨在拯救它的“改良运动”也随之展开,催生了更复杂的**三阶段提交协议 (Three-Phase Commit, 3PC)**。

本章,我们将共同见证这场围绕“完美原子性”展开的、长达数十年的执着追求与艰难挣扎。我们将剖析 2PC 的伟大构想与悲壮缺陷,并审视 3PC 的改良尝试为何最终也未能成为完美的答案。

我们先从两阶段提交协议( 2PC )开始。

2PC 协议详解:一场由“协调者”主导的投票

两阶段提交引入了两个核心角色:

  • 协调者 (Coordinator):事务的发起者和最终决策者。在我们的例子中,可以是一个专门的事务管理服务,或是发起转账请求的应用服务器。

  • 参与者 (Participants):所有涉及该事务的数据节点。在我们的例子中,就是分区 A 和分区 B。

顾名思义,整个协议分为两个阶段:准备阶段 (Prepare Phase)和 提交阶段 (Commit Phase)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/19 10:43:45

Qwen-Image-Layered项目实践:制作动态图层动画

Qwen-Image-Layered项目实践:制作动态图层动画 你是否曾希望对生成图像的特定部分进行独立编辑,而不会影响整体画面?Qwen-Image-Layered 项目为此提供了创新解决方案。该模型能够将输入图像智能分解为多个RGBA图层,每个图层包含独…

作者头像 李华
网站建设 2026/3/4 0:27:14

鹰眼YOLOv8案例解析:80类物体识别实战

鹰眼YOLOv8案例解析:80类物体识别实战 1. 引言:工业级目标检测的现实需求 在智能制造、安防监控、零售分析等场景中,实时准确地识别画面中的多种物体并进行数量统计,已成为智能化系统的核心能力之一。传统方法依赖人工巡检或规则…

作者头像 李华
网站建设 2026/3/10 4:30:11

Qwen-Image-Layered升级日志:新版本带来了哪些改进?

Qwen-Image-Layered升级日志:新版本带来了哪些改进? 引言:图像可编辑性的新范式 在AI生成图像技术快速演进的今天,静态输出已无法满足日益增长的创意需求。传统文生图模型虽然能够生成高质量图像,但一旦生成完成&…

作者头像 李华
网站建设 2026/3/3 11:28:01

GTE中文语义相似度计算实战:新闻标题去重系统构建

GTE中文语义相似度计算实战:新闻标题去重系统构建 1. 引言 1.1 业务场景描述 在新闻聚合、内容推荐和信息检索系统中,海量文本数据的重复问题严重影响用户体验与系统效率。尤其在新闻平台中,同一事件常被多个媒体以略微不同的表述方式发布…

作者头像 李华
网站建设 2026/3/3 18:07:12

YOLO11实战案例:建筑工地安全帽佩戴检测系统

YOLO11实战案例:建筑工地安全帽佩戴检测系统 1. 技术背景与方案概述 在建筑工地等高风险作业环境中,工人是否规范佩戴安全帽直接关系到人身安全。传统的人工巡检方式效率低、覆盖不全,难以实现实时监控。随着深度学习技术的发展&#xff0c…

作者头像 李华
网站建设 2026/3/10 11:41:06

开源大模型落地新选择:Qwen3系列多场景应用实战指南

开源大模型落地新选择:Qwen3系列多场景应用实战指南 1. Qwen3-1.7B 模型简介与核心优势 1.1 轻量级高效推理的代表作 Qwen3-1.7B 是通义千问 Qwen3 系列中的一款密集型语言模型,参数规模为 17 亿,在保持轻量化的同时实现了卓越的语言理解与…

作者头像 李华