## Hash ring

this page last updated: 2020-03-11 20:36:36

# Hash ring

Tooz provides a consistent hash ring implementation. It can be used to map objects (represented via binary keys) to one or several nodes. When the node list changes, the rebalancing of objects across the ring is kept minimal.

    from tooz import hashring

    hashring = hashring.HashRing({'node1', 'node2', 'node3'})

    # Returns set(['node2'])
    nodes_for_foo = hashring[b'foo']

    # Returns set(['node2', 'node3'])
    nodes_for_foo_with_replicas = hashring.get_nodes(b'foo',
                                                     replicas=2)

    # Returns set(['node1', 'node3'])
    nodes_for_foo_with_replicas = hashring.get_nodes(b'foo',
                                                     replicas=2,
                                                     ignore_nodes={'node2'})

this page last updated: 2020-03-11 20:36:36

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug questions?