logo

在一致性哈希分片下,当玩家分数变化时为什么需要“移除并重新插入”到正确的 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 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

在一致性哈希分片下,当玩家分数变化时为什么需要“移除并重新插入”到正确的 shard?如何计算玩家全局排名?如何使用 ZCOUNT 辅助?

Hardsystem-designdata-structures

想查看完整答案?

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

前往学习中心查看答案