TTL 缓存为什么不适合“按活动变化”的排行榜?如何缓解缓存雪崩/惊群问题?
Why is TTL-based caching a poor fit for activity-driven leaderboards, and how to mitigate cache stampede?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: System Design
标签: TTL, thundering herd, leaderboard
参考答案摘要
答案 排行榜分数变化由游戏行为驱动而非时间驱动,TTL 会导致两难:TTL 短则频繁回源、TTL 长则数据不实时。大量缓存同时过期还会触发 thundering herd(惊群)。可用的缓解方式包括:过期时间加 jitter、热点 key 预热与限流、互斥锁/单飞(singleflight)回源;更进一步可采用“推送更新到缓存”(如 CDC/触发器/流)减少数据库瓶颈。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。