ZeroCodingAI & Backend Engineering Notes
ZeroCodingAI & Backend Engineering Notes

分布式系统中的幂等性设计

目录

幂等性是分布式系统的老问题,却是高并发场景下最容易踩坑的地方。核心诉求只有一个:同一个操作执行多次,结果和只执行一次一致。

常见落地手段

  1. 数据库唯一约束:最可靠,通过唯一索引天然去重,适合「创建」类操作。
  2. 状态机:把业务状态流转设计成幂等的,重复请求自然被挡在状态判断之外。
  3. Token / 去重表:请求先拿 Token,消费一次即失效,适合「提交」类操作。
  4. 分布式锁:保证同一时刻只有一个请求在处理,但要处理好锁的粒度与超时。

取舍

没有银弹。唯一约束最稳但局限性强,锁最灵活但引入复杂度。实际项目里往往是组合使用,按业务语义选择最合适的那一层。