Virtual nodes solve the uneven distribution problem in consistent hashing. Each physical node gets multiple positions on the hash ring.
Problem:
With few nodes, keys cluster unevenly. One node might handle % of keys while another handles %.
Solution:
Each physical node becomes - virtual nodes. Keys distribute more evenly. When a node fails, its load spreads across many nodes rather than one.
DynamoDB and Cassandra both use virtual nodes for this reason.