热门页面导致写入热点时,如何通过“key 加随机后缀”做写扩散?代价是什么?
How can you mitigate hot keys by appending random suffixes, and what are the trade-offs?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: hot key, sharding
参考答案摘要
答案 把 pageId 变成 pageId+随机两位数(0-99)之类的 分裂键 ,把对同一页面的写入均匀分散到 100 个 key 上,从而在分区/分片层面分摊写压力、降低热点。代价是读路径变复杂:读取该页面计数需要查询所有分裂 key 并聚合求和,带来更多网络请求与延迟,同时还要维护 key 数量与生命周期(额外存储与管理开销)。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。