1.6 KiB
1.6 KiB
05 — 提供创建命令幂等与并发职责契约
What to build: 创建类用例可以使用调用主体、操作类型和稳定请求 ID 建立幂等作用域,并对影响业务结果的规范化字段计算带版本的请求指纹。相同请求返回原结果,同一请求 ID 携带不同业务内容时返回明确冲突,并发首写最终由 PostgreSQL 唯一约束裁决;Redis 故障不会制造重复业务事实。
Blocked by: None — can start immediately
Status: ready-for-agent
架构通道: Application + Port/Adapter。
完整业务边界: 本票收口请求指纹、幂等作用域、冲突分类和并发职责的可复用构件与公开示例。明确不建立万能幂等表,不迁移未触碰的旧订单、钱包或状态机,不用 Redis 替代数据库事实。
- 请求指纹只包含影响业务结果的规范化字段,排除时间戳、签名、Token 等易变传输字段,并携带算法版本。
- 同一作用域内相同请求 ID 和相同指纹返回原结果;不同指纹返回统一幂等冲突且不覆盖既有事实。
- 作用域至少区分调用主体与操作类型;不同主体使用相同请求 ID 不会相互污染。
- 并发首次提交由 PostgreSQL 唯一约束裁决,应用层预查仅用于友好返回;Redis 不可用、过期或主从切换不影响最终正确性。
- 文档和测试明确区分请求 ID、事件 ID、业务唯一键、状态条件更新、钱包版本、Worker 租约和 Redis 防并发的职责。
- 集成测试覆盖相同请求重放、指纹冲突、不同主体、并发首写和 Redis 故障,不修改未触碰业务模块。