System Design Interview - Chapter 5 - Design Consistent Hashing

System Design Interview - Chapter 5 - Design Consistent Hashing

Consistent Hashing is a cornerstone technology for distributed systems. Many of software developers don’t realize it, but Consistent Hashing is needed in many places: load balancers, caches, CDNs, id generators, databases, chats / social networks, and many other systems.

This topic consists of:

  • Problem with rehashing and why we need hashing to be CONSISTENT
  • Hash space and hash ring
  • BASIC approach (introduced by Karger et al. at MIT)
  • Advanced approach with VIRTUAL NODES

These items are disclosed in a very interesting Chapter 5 of the book:

“System Design Interview – An insider’s guide” by Alex Xu

HIGHLY RECOMMEND!

Sharing my mind map with all the details as usual:

Download full mind map (PDF)

See also: