logo

为什么“消息队列实现 exactly-once”在计数器场景很难?会带来什么后果?

Why is exactly-once delivery hard with message queues for counters, and what are the consequences?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: System Design

标签: exactly-once, idempotency, deduplication

参考答案摘要

答案 exactly-once 需要端到端语义:生产、传输、消费、落库都必须去重且可恢复。现实中会遇到网络重试、消费者崩溃重启、offset 提交时序、幂等写入能力不足等问题。计数器更新如果被重复消费,就会 重复累加 导致偏大;如果丢消息则偏小。为了提升可用性系统通常选择 at-least-once,这意味着必须在应用层做幂等/去重,而计数更新天然不易幂等,因此风险更明显。

答题技巧

技术面试题建议先理清思路再作答,从基础概念讲起,逐步深入。可以结合实际项目经验解释技术原理,展示你的理解深度和实践能力。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。

← 返回面试题库

为什么“消息队列实现 exactly-once”在计数器场景很难?会带来什么后果?

困难distributed-systemsmessaging

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案