logo

为什么文中强调“不要用消息队列/原生 Redis/Cassandra counter”做可扩展准确计数?核心原因是什么?

Why does the article warn against using message queues, native Redis counters, or Cassandra counters for scalable accurate counting? What’s the core reason?

题目类型: 技术面试题

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

难度: hard

分类: System Design

标签: idempotency, accuracy, design choice

参考答案摘要

答案 三者的共同痛点是:在高可用分布式环境里,计数更新很难做到端到端 幂等 与严格一次语义。消息队列难保证 exactly-once;Redis INCR 遇到网络失败重试会重复执行;Cassandra counter 更新同样不幂等且工程限制多。对于“必须准确”的计数器,这会把故障重试转化为数据错误。相比之下,CRDT 通过数学收敛与幂等合并,把正确性下沉到数据类型/存储层,更适合多活准确计数。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

为什么文中强调“不要用消息队列/原生 Redis/Cassandra counter”做可扩展准确计数?核心原因是什么?

Harddistributed-systemscrdtredismessagingcassandra

想查看完整答案?

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

前往学习中心查看答案