Advanced
Design a Distributed Key-Value Store
Architect a high-availability distributed key-value store with specific consistency requirements.
📝 Contenu du Prompt
Act as a Principal System Architect. Design a distributed key-value store similar to DynamoDB. Your design must address the following requirements: 1) High availability (99.99% uptime), 2) Low latency (single-digit milliseconds for reads), 3) Eventual consistency with tunable options for strong consistency, 4) Automatic data partitioning and replication, and 5) Fault tolerance. Describe the data partitioning strategy (e.g., consistent hashing), the replication protocol (e.g., Raft, Paxos, or gossip), and the handling of node failures and network partitions. Provide a high-level component diagram and explain the write and read paths.