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...

    預覽
  • Object Storage

    設計一套類似 S3 的物件儲存服務,以持久且低成本的方式儲存數十億個不可變 blob。涵蓋 metadata 與資料分離、用 erasure coding(抹除編碼)達成 11 個 9 的持久性、背景清掃與修復、分段上傳、強寫入後即讀一致性、quorum 寫入(達到法定數量的分片才確認),以及生命週期分層。

    預覽