在一致性哈希分片下,当玩家分数变化时为什么需要“移除并重新插入”到正确的 shard?如何计算玩家全局排名?如何使用 ZCOUNT 辅助?
Under consistent hashing, why must a player be removed and reinserted into the correct shard when their score changes? How do you compute a player’s global rank, and how can ZCOUNT help?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: system-design, redis
标签: consistent-hashing, score-change, resharding, zcount, global-rank
参考答案摘要
TL;DR 一致性哈希分片若按 score 范围/规则路由,当分数变化时玩家应落到不同 shard,为保持数据在正确 shard 中,需要将记录从旧 shard 移除并插入新 shard。计算全局排名需要结合该玩家在 shard 内的 rank,以及其它 shard 的边界排名统计;可用 ZCOUNT 统计每个 shard 中高于某 score 的元素数量来汇总排名。 为什么要移除并重新插入 分片...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。