什么是“分片计数器(Sharded Counter)”?它如何提升写性能?读性能为什么会变差?
What is a sharded counter, how does it improve writes, and why can reads get worse?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: sharded counter, scatter-gather
参考答案摘要
答案 分片计数器会把一个逻辑计数拆成多个 shard(分片计数)。写入时采用随机/轮询把增量打到不同 shard 上,显著降低热点与锁冲突,从而提升写吞吐。读取总值时需要并行查询所有 shard 并求和(scatter-gather),因此读延迟会随 shard 数量上升;当读请求很多时,这种读放大会成为瓶颈,所以它更适合“写多读少”的场景或读可以容忍延迟的场景。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。