本文目录#
引言#
消息系统天然存在重试与重放,微服务必须具备幂等能力。本文总结幂等策略、重放机制与审计设计。
幂等策略#
- 幂等键:业务ID、订单号;
- 数据库
unique
索引或 UPSERT; - Redis Set/Bitmap 记录处理过的消息;
- Token Bucket + 幂等缓存。
重放设计#
- 保留消息 log,支持重放;
- 通过控制台触发重放;
- 确保重放可控(时间范围、租户);
- 记录重放操作审计。
审计与监控#
- 记录消费状态(成功、失败、重试);
- 对异常消息报警;
- 与消息轨迹联动;
- 定期清理幂等缓存。
总结#
幂等与重放是消息驱动微服务的生命线。通过周密的策略与监控,可保障业务的一致性与可恢复性。
参考资料#
- [1] Designing Data-Intensive Applications (Martin Kleppmann).
本作品系原创,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,转载请注明出处。