30 lines
1017 B
Markdown
30 lines
1017 B
Markdown
---
|
||
title: "Idempotency"
|
||
type: concept
|
||
tags:
|
||
- Architecture
|
||
- Reliability
|
||
- Cloud
|
||
last_updated: 2026-04-14
|
||
---
|
||
|
||
## Definition
|
||
幂等性(Idempotency)是指一个操作被执行一次和被执行多次,产生的结果是相同的。在分布式系统和事件驱动架构中,这是确保系统可靠性的关键设计原则。
|
||
|
||
## Why It Matters in EDA
|
||
Lambda 异步调用会自动重试(通常重试 2-3 次),因此服务在处理事件时必须考虑幂等性,避免因重复处理导致的数据不一致或副作用(如重复下单、重复扣款)。
|
||
|
||
## Implementation Strategies
|
||
- 为每个事件分配唯一标识符(Event ID),消费者维护已处理事件记录
|
||
- 使用数据库唯一约束或乐观锁防止重复写入
|
||
- 基于业务语义的去重(如订单号唯一性检查)
|
||
|
||
## Applicable Scenarios
|
||
- 订单处理和支付
|
||
- 库存扣减
|
||
- 消息确认
|
||
- 状态更新
|
||
|
||
## Sources
|
||
- [[public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091]]
|