Quorum Replication and Failover
4 题
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,以及...
预览Object Storage
设计一套类似 S3 的对象存储服务,以持久且低成本的方式存储数十亿个不可变 blob。涵盖 metadata 与数据分离、用 erasure coding(纠删码)达成 11 个 9 的持久性、后台清扫与修复、分段上传、强写入后即读一致性、quorum 写入(达到法定数量分片才确认),以及生命周期分层。
预览