chrismoos/hash-ring — pull request #10 by cablehead (2014-02-07 19:36:42+00:00)
Title: Feature/find n nodes

Hi Chris,

This patch adds a new method to the C, Go and Python clients, find_nodes, that allows you to consistently shard a key to n number of nodes, that are guaranteed to be different from each other.

We're using this to set up a distributed redundant retry queue. When a task is generated, it is sent to a worker, and n retry servers. When the worker completes the job, it sends an ack to the n retry servers. If the worker fails, the retry servers will re-emit the task after not hearing an ack. The task will complete so long as no more than the worker plus n-1 of the retry-ers fail.