The hash ring is so dumb. I don't understand why it's still a thing (or was a thing to begin with.)<p>Just hash and mask some number of bits, and map each index you get to some node. Faster, simpler, even enough distribution.<p>If your number of nodes is not a power of two, map multiple buckets to each node.<p>When adding nodes, and the # buckets is too low, split each bucket in two by adding one bit to the mask.<p>Consistent table construction means you only need the set of nodes to construct the take, keeping lookups entirely in core.<p>Maybe I should blog this, but it feels a bit like "Hey you cab implement modulo power of two with a bit mask! Isn't that so crazy?"