Consistent Hash Rings Explained Simply
Consistent hash rings are beautiful structures, yet often poorly explained. Implementations tend to focus on clever language-specific tricks, and theoretical approaches insist on befuddling it with math and tangents irrelevant.
This is an attempt at explanation - and a Python implementation - accessible to an ordinary high-schooler.
Fairly often, you need a way to take an item and get back another stored item. For instance, you may want to take a URL and get back the server the website is hosted on.
These cases can be accomplished by a map, which effectively acts like a phonebook - you look up names (or keys), and you get back information (or values) about the name.
An index in a book, too, is a map - given a word, it can take you to the exact page the word is referenced.
All a map is is a way to take something that can point to another item, and then return that...
Continue reading →