1. 分布式事务基础:ACID理论、CAP定理、BASE理论、分布式事务核心挑战

1.1 ACID 理论:单机事务的黄金标准

ACID 是数据库事务正确执行的四个基本要素的缩写,由 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation) 和 持久性(Durability) 组成。在单机关系型数据库中,ACID 保证了事务的可靠执行。

特性 定义 典型实现
原子性 事务中的所有操作要么全部成功,要么全部失败回滚,不存在中间状态。 Undo Log / Redo Log
一致性 事务执行前后,数据库必须从一个一致性状态转换到另一个一致性状态。 约束检查、触发器
隔离性 并发执行的事务之间互不干扰,每个事务都感觉不到其他事务的存在。 MVCC、锁机制
持久性 一旦事务提交,其结果就是永久性的,即使系统崩溃也不会丢失。 WAL(Write-Ahead Logging)
压测视角: 在分布式事务压测中,ACID 是衡量事务正确性的基准。如果压测过程中出现数据不一致或部分提交,说明分布式事务协调机制存在故障。

1.2 CAP 定理:分布式系统的“不可能三角”

CAP 定理由 Eric Brewer 在 2000 年提出,指出分布式系统最多只能同时满足以下三个特性中的两个:

  • C(Consistency,一致性):所有节点在同一时刻看到的数据是一致的。
  • A(Availability,可用性):每个请求都能获得一个非错误的响应,但不保证响应包含最新数据。
  • P(Partition Tolerance,分区容错性):系统在遇到网络分区(节点间通信中断)时仍能正常运行。
核心权衡: 在分布式系统中,网络分区是不可避免的,因此 P 是必选项。实际设计时需要在 CP(强一致)和 AP(高可用)之间做出选择。
CAP 定理:分布式系统“不可能三角” 一致性 (C) 可用性 (A) 分区容错 (P) CP 系统 AP 系统 CA 系统(实际不存在) 网络分区是常态,P 是必选项;实际在 CP 与 AP 之间权衡

1.3 BASE 理论:分布式事务的实践妥协

BASE 理论是 CAP 定理在工程实践中的延伸,它放弃了强一致性,追求最终一致性,是构建大规模分布式系统的理论基础。

要素 含义 与 ACID 对比
BA(Basically Available) 基本可用:系统允许出现部分功能降级,但核心功能保持可用。 弱化可用性要求
S(Soft State) 软状态:允许系统存在中间状态,不要求时刻一致。 弱化一致性要求
E(Eventually Consistent) 最终一致性:经过一段时间后,所有副本最终会达到一致状态。 弱化持久性要求
压测陷阱: 在 BASE 理论指导下设计的分布式事务,压测时可能出现短暂的数据不一致。故障定位时需要区分“预期内的最终不一致”和“真正的故障”。

1.4 分布式事务核心挑战

在分布式系统中实现事务,面临以下四大核心挑战:

  1. 网络不确定性:网络延迟、丢包、分区导致节点间通信不可靠,事务协调者无法准确判断参与者状态。
  2. 节点故障:任意节点可能随时宕机,事务协调者需要具备故障恢复和超时处理能力。
  3. 数据一致性:多个节点上的数据副本需要保持同步,任何写入失败都可能导致全局不一致。
  4. 性能开销:分布式事务的协调、日志、锁机制会引入额外的网络开销和延迟,影响系统吞吐量。
分布式事务核心挑战 分布式事务协调 网络不确定性 节点故障 数据一致性 性能开销 压测场景库设计需覆盖以上四种挑战,才能有效验证分布式事务的容错能力

1.5 分布式事务与 gRPC 的关联

gRPC 作为高性能 RPC 框架,在分布式事务中扮演着 通信载体 的角色。其核心特性与分布式事务的挑战直接相关:

  • 双向流:支持事务协调者与参与者之间的实时状态交换。
  • 超时与重试:应对网络不确定性,实现事务超时回滚。
  • 拦截器:可在 RPC 调用链中注入事务上下文(如 XID 传播)。
  • 负载均衡:影响事务参与者的分布和故障转移策略。