Sharding and Hot-Key Mitigation

16 题

  • 广告点击聚合系统

    设计广告点击聚合系统。请覆盖High-throughput ingestion of K-M clicks/sec via a log/stream (Kafka) before aggregation, Exactly-once vs at-least-once delivery and idempotent aggregation sinks, Windowed aggregation...

    免费指南
  • Chat Service

    为数亿同时在线用户设计一套聊天产品背后的后端基础设施——有状态的连接服务器、消息存储,以及群组扇出。重点在基础设施:连接机群、存储 schema,以及大规模下的扇出。

    预览
  • Facebook Post Search

    在社交动态上设计搜索——让用户能近乎实时地用关键字找到帖子,同时尊重每条帖子的隐私/可见性设置。

    预览
  • 游戏排行榜

    为数百万玩家按分数实时排名设计一套游戏排行榜,支持分区与时间窗榜单,并能以低成本同时提供 top-N 与指定玩家的排名。

    预览
  • Metric Monitoring and Alerting

    设计监控平台背后的指标管线——从部署在数千台主机上的 SDK 发出数值测量值开始,经过流式预聚合,写入持久的时序存储,让仪表盘能在超大规模下快速查询的整条路径。

    预览
  • Top K Songs (Spotify)

    设计Top K Songs (Spotify)。请覆盖Framing top-K as a heavy-hitters/frequency-estimation problem over a play-count stream, Count-Min Sketch + heap (bounded error, memory trade-off) vs exact per-partition...

    免费指南
  • Uber (Ride Hailing)

    设计Uber (Ride Hailing)。请覆盖Geospatial indexing trade-off: geohash vs quadtree vs S2/H3 cells for storing and querying driver locations, High-frequency driver location ingestion: update interval vs GPS...

    免费指南
  • 网页爬虫

    设计网页爬虫。请覆盖URL frontier design: priority queues for scheduling and re-crawl ordering, Politeness: robots.txt compliance and per-domain rate limiting to avoid hammering one host, JavaScript rendering...

    免费指南
  • 短链接服务

    为 1 亿日活跃用户设计一套可扩展的短网址服务。涵盖重定向、自定义别名、点击分析、缓存,以及一致性权衡。

    免费指南
  • 限流器

    为公开的 API 平台设计一套分布式 API 速率限制器。涵盖 token bucket、按用户的限额、共享计数器、热 key,以及故障模式。

    预览
  • Vector Database

    设计一套向量数据库的存储与查询引擎,为数十亿条 embedding 建立索引,支持近似最近邻(ANN)搜索。涵盖 ANN 索引设计(HNSW 图构建、IVF-PQ)、距离度量、十亿级向量分片、过滤/混合搜索、召回率与延迟的调优,以及增量 upsert。

    预览
  • Distributed Key-Value Store

    设计一套 Dynamo 风格的高可用键值存储:用一致性哈希把 key 分散到各节点,每个 key 复制到 N 个节点,并让每个操作用 quorum 读写(R + W > N)自行调整一致性。这套存储必须在节点故障与网络分区期间保持可写——sloppy quorum 与 hinted handoff 让 home 副本无法连通时仍持续接受写入——而分区两侧并发写入同一个 key 产生的版本,必须用...

    预览
  • Distributed Cache

    设计一套 Redis/Memcached 级别的分布式内存缓存服务,在 p99 低于 5ms 的前提下扛住约每秒 100 万次 QPS。涵盖用于分片的一致性哈希、副本与故障转移、淘汰策略(LRU/LFU/TTL)、热 key 与惊群效应、write-through 与 write-back 的取舍、缓存击穿的防护,以及节点故障时的行为。

    预览
  • Distributed Message Queue

    设计一套 Kafka 风格、可持久化、分区化的 log broker,能承接高吞吐的事件流。涵盖为了并行度而做的分区、配合 in-sync replica 的复制、consumer group 与 rebalancing、offset 管理、投递语义(at-least-once 对比 exactly-once)、retention 与 log compaction、backpressure,以及...

    预览
  • Food Delivery Marketplace

    为连接消费者、骑手(Dasher)与商家的 DoorDash 式外卖撮合平台做设计。涵盖订单生命周期、骑手派单与拼单、实时定位追踪、ETA 预测、地理分区、动态加价,以及供需平衡。

    预览
  • Live Comments

    设计一套实时评论系统,把单场直播事件的评论实时扇出给数百万名同时在线的观众。涵盖 pub/sub 扇出、热分区与名人效应处理、背压、洪峰下的采样与速率整形、顺序与吞吐量的权衡,以及临时(ephemeral)与持久存储。

    预览