Consistent Hashing
- Evenly distribute hash(x) to across hash space
- To avoid keys have to be redistributed on node failure, consistent hashing has to be required
- Objects/Keys and Servers are both hashed with same hash function
- Representation of Hash space in Circle. Hashed Nodes/Servers get plotted on it.
- Ensures only a fraction of keys have to be redistributed on node failure
- Virtual Servers to reflect different hardware capacities of servers (ensures balancing)
See https://www.youtube.com/watch?v=UF9Iqmg94tk