python3-uhashring

full featured consistent hashing python library compatible with ketama
  https://github.com/ultrabug/uhashring
  0
  no reviews



Uhashring implements consistent hashing in pure Python.

Consistent hashing is mostly used on distributed systems/caches/databases as this avoid the total reshuffling of your key-node mappings when adding or removing a node in your ring (called continuum on libketama). More information and det ails about this can be found in the *literature* section.

This full featured implementation offers: * a lot of convenient methods to use your consistent hash ring in real world applications. * simple integration with other libs such as memcache through monkey patching. * a full ketama compatibility if you need to use it. * all the missing functions in the libketama C python binding (which is not even available on pypi) for ketama users. * possibility to use your own weight and hash functions if you don't care about the ketama compatibility. * Instance-oriented usage, so you can use your consistent hash ring object directly in your code (see advanced usage). * tests of implementation, key distribution and ketama compatibility.

Per node weight is also supported and will affect the nodes distribution on the ring.