From 71868643c61966d5954351bfb510305e4b56dc78 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 30 Oct 2026 02:57:53 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=88=86=E5=B8=83=E5=BC=8F.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为面试中常问的小节加上高频标记;补充分布式事务几种做法的对比,以及用请求 ID 实现幂等的示意图。 --- notes/pics/idempotent-request-id.png | Bin 0 -> 165801 bytes notes/分布式.md | 65 +++++++++++++++++++-------- 2 files changed, 46 insertions(+), 19 deletions(-) create mode 100644 notes/pics/idempotent-request-id.png diff --git a/notes/pics/idempotent-request-id.png b/notes/pics/idempotent-request-id.png new file mode 100644 index 0000000000000000000000000000000000000000..975e060b9e4f8891ae024aaf45eac2c8de2c7eb0 GIT binary patch literal 165801 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 * [分布式](#分布式) - * [一、分布式锁](#一分布式锁) + * [一、分布式锁](#一分布式锁) 🔥🔥 * [数据库的唯一索引](#数据库的唯一索引) * [Redis 的 SET NX 指令](#redis-的-set-nx-指令) * [Redis 的 RedLock 算法](#redis-的-redlock-算法) * [Zookeeper 的有序节点](#zookeeper-的有序节点) * [三种实现的对比](#三种实现的对比) - * [二、分布式事务](#二分布式事务) + * [二、分布式事务](#二分布式事务) 🔥 * [2PC](#2pc) * [TCC](#tcc) * [Saga](#saga) * [本地消息表](#本地消息表) + * [几种做法的对比](#几种做法的对比) * [三、CAP](#三cap) * [一致性](#一致性) * [可用性](#可用性) @@ -28,15 +29,15 @@ * [单个 Candidate 的竞选](#单个-candidate-的竞选) * [多个 Candidate 竞选](#多个-candidate-竞选) * [日志复制](#日志复制) - * [七、RPC](#七rpc) + * [七、RPC](#七rpc) 🔥 * [调用过程](#调用过程) * [服务发现](#服务发现) * [RPC 与 HTTP](#rpc-与-http) * [超时与重试](#超时与重试) - * [八、分布式 ID](#八分布式-id) + * [八、分布式 ID](#八分布式-id) 🔥 * [雪花算法](#雪花算法) - * [九、幂等](#九幂等) - * [十、分布式定时任务](#十分布式定时任务) + * [九、幂等](#九幂等) 🔥🔥 + * [十、分布式定时任务](#十分布式定时任务) 🔥 * [只执行一次](#只执行一次) * [调度中心](#调度中心) * [分片](#分片) @@ -54,7 +55,7 @@ -## 一、分布式锁 +## 一、分布式锁 🔥🔥 在单机场景下,可以使用语言的内置锁来实现进程同步。但是在分布式场景下,需要同步的进程可能位于不同的节点上,那么就需要使用分布式锁。 @@ -199,12 +200,14 @@ Zookeeper 提供了一种树形结构的命名空间,/app1/p_1 节点的父节 锁与本地事务一起使用时,锁要包住事务,在事务提交之后再释放,否则后来的请求拿到锁时还看不到前一个请求的修改,见 [Spring 中用自定义注解加锁](Spring.md#动态代理)。 -## 二、分布式事务 +## 二、分布式事务 🔥 指事务的操作位于不同的节点上,需要保证事务的 ACID 特性。 例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。 +严格满足 ACID 的代价很高,参与者要一直持有锁,等所有节点都确认。下面的做法中,2PC 让所有参与者一起提交或一起回滚;TCC、Saga 和本地消息表则让各个参与者先提交自己的本地事务,中间状态对其它事务可见,只保证最终一致,也就是下文 [BASE](#四base) 的思路。 + 分布式锁和分布式事务区别: - 锁问题的关键在于进程操作的互斥关系,例如多个进程同时修改账户的余额,如果没有互斥关系则会导致该账户的余额不正确; @@ -270,7 +273,7 @@ TCC(Try-Confirm-Cancel)是在业务层面实现的两阶段提交,每个 如果所有参与者的 Try 都执行成功,就执行 Confirm,否则执行 Cancel。Confirm 和 Cancel 失败后都需要重试,因此必须实现幂等。 -相比于 2PC,TCC 不需要长时间持有数据库的锁,性能更好,但是对业务的侵入性较强。 +相比于 2PC,TCC 不需要长时间持有数据库的锁,性能更好,但是对业务的侵入性较强。它适合扣库存、扣余额这类一致性要求高、能提供预留和取消接口的资源操作。 实现时还需要处理两个问题: @@ -289,20 +292,32 @@ Saga 没有预留资源的 Try 阶段,中间状态对其它事务可见,因 ### 本地消息表 -本地消息表与业务数据表处于同一个数据库中,这样就能利用本地事务来保证在对这两个表的操作满足事务特性,并且使用了消息队列来保证最终一致性。 +本地消息表与业务数据表放在同一个数据库中,用本地事务保证业务数据和消息一起写入,再通过消息队列把消息送到另一个服务。以下单后给用户加积分为例: -1. 在分布式事务操作的一方完成写业务数据的操作之后向本地消息表发送一个消息,本地事务能保证这个消息一定会被写入本地消息表中。 -2. 之后将本地消息表中的消息转发到消息队列中,如果转发成功则将消息从本地消息表中删除(或者标记为已发送),否则继续重新转发。 -3. 在分布式事务操作的另一方从消息队列中读取一个消息,并执行消息中的操作。 +1. 订单服务在同一个本地事务中插入订单 1024 和一条待发送的消息,两行要么都写入,要么都不写入; +2. 定时任务扫描待发送的消息,转发到消息队列,发送成功后把消息标记为已发送(或者删除),失败就在下次扫描时重新转发; +3. 积分服务从消息队列中读取消息,给用户加积分。


-由于重新转发会导致消息被重复投递,因此另一方执行的操作需要实现幂等。并且第一方的事务已经提交,无法回滚,所以如果另一方执行失败,只能不断重试或者人工介入处理。 +由于重新转发会导致消息被重复投递,积分服务要按订单号去重,实现幂等。订单服务的事务已经提交,无法回滚,积分服务执行失败时只能不断重试或者人工介入处理。所以它适合发券、加积分这类能接受最终一致、失败后可以重试的后续操作。 RocketMQ 的事务消息把本地消息表的工作交给了消息队列:生产者先发送一条对消费者不可见的半消息,再执行本地事务,然后根据执行结果通知 Broker 提交或者回滚这条消息。如果 Broker 长时间没有收到通知,会主动回查生产者的本地事务状态。

+### 几种做法的对比 + +| 做法 | 一致性 | 资源的锁定 | 业务改造 | 适合的场景 | +| --- | --- | --- | --- | --- | +| 2PC(XA) | 所有参与者一起提交或回滚 | 从准备到提交一直持有数据库的锁 | 少,由数据库和协调者完成 | 参与者少、并发不高 | +| Seata AT | 最终一致,回滚靠反向 SQL,默认可能读到全局事务未提交的修改 | 本地事务立即提交,修改过的行持有全局锁直到第二阶段 | 几乎没有 | 普通的增删改,希望少改代码 | +| TCC | 最终一致,Try 阶段预留资源 | 只锁定预留的资源,不持有数据库的锁 | 每个操作写 Try、Confirm、Cancel 三个接口 | 扣库存、扣余额等资源操作 | +| Saga | 最终一致,没有隔离性 | 不锁定 | 每一步写补偿操作 | 流程长、跨多个服务 | +| 本地消息表、事务消息 | 最终一致,只能重试,不能回滚 | 不锁定 | 写消息和重试,消费方实现幂等 | 发券、加积分等后续操作 | + +同一个业务中常把几种做法组合使用,例如下单时用 TCC 冻结库存,支付成功后用事务消息通知积分服务加积分。 + ## 三、CAP 分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance)。常见的“三选二”说法有误导性,因为网络分区是无法避免的故障,不是可以选择的选项。 @@ -368,6 +383,14 @@ BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的核心思 最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能达到一致的状态。“最终”没有时间上限,因此通常还会提供读己之写(用户能读到自己刚写入的数据)和单调读(不会读到比上次更旧的数据)等保证来减少不一致带来的困扰。 +按保证的强弱,常说的一致性分为三类: + +- 强一致性:即上文的线性一致性,写入成功之后,所有读请求都能读到新值; +- 弱一致性:写入之后不保证马上能读到新值; +- 最终一致性:弱一致性的一种,保证不再有新的写入时,所有副本最终都会相同。 + +例如订单 1024 支付成功后,主库中已经是“已支付”,从库在复制完成之前仍返回“待支付”。强一致的系统不允许出现这种情况,最终一致的系统允许,但复制完成后必须读到“已支付”。强一致和最终一致之间还有因果一致性等模型,它只保证有因果关系的写入按先后被看到,例如看到订单 1024“已发货”的用户,一定也能看到它“已支付”。 + ACID 要求每个事务结束时数据都满足约束,并且事务之间相互隔离,通常运用在传统的数据库系统上。而 BASE 允许数据在一段时间内处于中间状态,只要求最终一致,通过牺牲强一致性来达到可用性,通常运用在大型分布式系统中。 在实际的分布式场景中,不同业务单元和组件对一致性的要求是不同的,因此 ACID 和 BASE 往往会结合在一起使用。 @@ -491,7 +514,7 @@ Raft 与 Paxos 达成的结果是等价的,区别在于对 Leader 的依赖程 ZooKeeper 使用的 ZAB 协议同样以 Leader 为中心,纪元编号(epoch)的作用相当于 Raft 的任期号。 -## 七、RPC +## 七、RPC 🔥 远程过程调用(Remote Procedure Call, RPC)指的是像调用本地方法一样调用另一台机器上的服务。例如订单服务调用库存服务扣减库存: @@ -592,7 +615,7 @@ gRPC 选择 HTTP/2 是因为它的 [多路复用](HTTP.md#二进制分帧层): - 因此只有幂等的接口才能自动重试,例如查询;扣库存这类写操作要带上请求 ID,由服务方去重,否则重试会扣减两次; - 调用链较长时,下游的超时时间应该比上游短。gRPC 会把截止时间(deadline)随请求传给服务方,超时后调用方收到 DEADLINE_EXCEEDED,服务方也可以检查调用是否已经超时,从而停止处理。 -## 八、分布式 ID +## 八、分布式 ID 🔥 单库时用数据库的自增主键就能生成 ID,分库分表之后,各个库的自增序列会重复,需要一个全局唯一的 ID。一般有以下要求: @@ -646,7 +669,7 @@ public synchronized long nextId() { - 机器 ID:每个实例的机器 ID 不能相同,可以在启动时从 ZooKeeper、数据库或配置中心领取; - 时钟回拨:服务器校时可能让时钟倒退,回拨较小时可以等待时钟追上,较大时报错,或者像美团的 Leaf 那样在启动时检查本机时间与其它节点是否一致。 -## 九、幂等 +## 九、幂等 🔥🔥 幂等指的是同一个操作执行一次和执行多次的效果相同。分布式系统中重复的请求很常见:调用超时后重试、用户重复点击、消息队列重复投递,都会让同一个操作执行多次。查询和删除天然幂等,新增和扣减不是,例如支付回调被调用两次,订单就可能被处理两次。HTTP 规范中各个方法是否幂等,见 [HTTP 的幂等性](HTTP.md#幂等性)。 @@ -665,13 +688,15 @@ public synchronized long nextId() { - 服务端在订单表的 request_id 上建唯一索引,插入订单时重复的请求报错 1062,返回第一次的结果。同一个 request_id 并发提交 10 次,先查后插的写法 5 轮中每轮都创建了 2~3 个订单,唯一索引每轮只创建 1 个(MySQL 8.0 实测,见[附录 A4](#a4-重复提交与唯一索引)); - 前端把按钮置灰、网关限流可以减少重复请求,但请求仍可能来自重试、脚本或者网络重发,只能作为辅助,最终要靠数据库的约束兜底。 +

+ 没有客户端参与的场景,幂等键用业务上的唯一标识。例如支付回调用支付平台的交易号,再配合上面的状态机:重复的回调影响 0 行时,同样要返回成功,否则支付平台会继续重试。 分布式锁不能代替幂等。锁只保证同一时刻只有一个请求在处理,第一个请求完成并释放锁之后,重试的请求拿到锁仍会再执行一次。锁的作用是挡住并发的重复请求,减轻数据库的冲突,是否已经处理过还是要靠唯一索引或者状态机判断。 -用 Token 实现时,Token 的过期时间按用户在页面上停留的时长设置,例如 30 分钟。DEL 返回 1 之后处理失败时,这个 Token 已经删除,客户端要重新获取 Token 再提交。 +用 Token 实现时,Token 的过期时间按用户在页面上停留的时长设置,例如 30 分钟。DEL 返回 1 之后处理失败时,这个 Token 已经删除,客户端要重新获取 Token 再提交。需要注意的是,DEL 和之后的业务处理不是一个原子操作:处理成功但响应丢失时,客户端分不清是否已经处理,换一个新 Token 重试就会再执行一次。所以 Token 只能挡住页面上的重复点击,最终的去重仍要靠订单号这类业务唯一约束。 -## 十、分布式定时任务 +## 十、分布式定时任务 🔥 定时任务指的是按时间规则自动执行的任务,例如每月 1 日凌晨 2 点给所有用户发送上月的账单。只有一个实例时,用 Spring 的 `@Scheduled(cron = "0 0 2 1 * ?")` 就能实现。 @@ -937,6 +962,8 @@ NOWAIT:0.1 ms 返回 (3572, 'Statement aborted because lock(s) could not be ac - [Seata 是什么](https://seata.apache.org/zh-cn/docs/overview/what-is-seata/) - [Seata 术语](https://seata.apache.org/zh-cn/docs/overview/terminology/) - [Seata XA 模式](https://seata.apache.org/zh-cn/docs/user/mode/xa/) +- [Seata AT 模式](https://seata.apache.org/zh-cn/docs/dev/mode/at-mode/) +- [Eventually Consistent - Revisited](https://www.allthingsdistributed.com/2008/12/eventually_consistent.html) - [gRPC over HTTP2](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md) - [Dubbo 协议详解](https://cn.dubbo.apache.org/zh-cn/blog/2018/10/05/dubbo-%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3/) - [深度剖析 Seata TCC 模式](https://seata.apache.org/zh-cn/blog/seata-tcc/)