短链接服务
使用场景: 准备系统设计面试的工程师
客户端 → LB → API 服务(无状态,水平扩展)
写路径:API → MySQL(id, shortCode, originalUrl, userId)
读路径:API → Redis 缓存 → MySQL 兜底
分析:API → Kafka → 点击 Consumer → ClickHouse
短码:自增ID的base62编码
这样组织的原因: 读写分离和旁路缓存模式是这个架构的两个关键设计决策。在图中明确展示它们,让缓存失效和一致性的权衡讨论自然发生。
