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”在计数器场景很难?会带来什么后果?

Harddistributed-systemsmessaging

想查看完整答案?

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

前往学习中心查看答案