DZone.com
Follow
Designing for Hot Keys: When Distributed Systems Stop Distributing
Distributed systems usually spread data by hashing keys across nodes so no one node carries all the load. A hot key breaks that assumption. It is a key whose access volume greatly exceeds the volume of other keys during a given period. A global view counter or a popular item identifier can receive millions of reads or writes each second. Every request targets the same partition, even when the rest of the cluster has spare capacity.The result is uneven load. One node reaches its CPU, network, thread, or connection limits while other nodes remain underused. Adding nodes does not solve the problem because traffic continues to resolve to the same partition. The overloaded shard becomes the bottleneck for a system that was intended to distribute work.