Consistent Hashing hard
Standard Consistent Hashing maps keys to nodes but ignores current load (CPU/Requests). How does 'Consistent Hashing with Bounded Loads' (Google) address the Hot Spot problem?
- A If a target node is overloaded (load > c * average), the algorithm spills over the request to the next available node in the ring.
- B It immediately drops the request and sends a '503 Service Unavailable' signal back to the client to protect the cluster's health.
- C It triggers an automated serverless function that dynamically provisions additional virtual hardware resources to the hot node.
- D It forces a cryptographic change in the primary hash function to redistribute the hot key across an entirely different set of nodes.
Answer: A. If a target node is overloaded (load > c * average), the algorithm spills over the request to the next available node in the ring.
Standard Consistent Hashing is load-agnostic. 'Bounded Loads' adds a constraint: no node can handle more than (1 + epsilon) * average load. If a key hashes to a node that is 'full', the algorithm deterministically searches for the next node in the ring that has capacity. This prevents a single 'Celebrity Key' from melting a specific server while other nodes sit idle.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- In a 'Smart Client' architecture (e.g., modern Cassandra drivers), how does the client find the right node?
- When a new node (Node X) joins the ring, where does it acquire its initial data from?
- Google's Maglev hashing algorithm (used in their Network Load Balancers) differs from standard Consistent Hashing rings. How does it generate the lookup table?
- Virtual Nodes improve balance but increase metadata size (Memory). How does 'Multi-Probe Consistent Hashing' achieve good balance without VNodes?
- In the Chord DHT protocol (a P2P consistent hashing implementation), naive lookups are O(N). How does Chord optimize this to O(log N)?
- Which of these systems is a famous user of Consistent Hashing?