通知系统里的“至少一次投递”和“精确一次投递”有什么区别?在现实里怎么做到“准一次”?
What is the difference between at-least-once and exactly-once delivery in notifications, and how do you achieve 'effectively once' in practice?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: System Design
标签: delivery-semantics, idempotency, dedup
参考答案摘要
答案 At-least-once :保证不丢,但在重试/超时/重复消费时可能重复投递。 Exactly-once :理论上不重不漏,但跨队列+第三方通道很难做到端到端。 工程上常用“ 准一次 ”(effectively once): 为每条消息生成全局 messageId ,下游做幂等(dedup store)。 投递日志写入采用 upsert/唯一键约束,重复投递可被识别并短路。 队列使用至少一...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。