I don't think redis is much better for coordination purposes than memcached being a mostly in-memory store.
https://docs.openstack.org/tooz/latest/user/drivers.html#characteristics https://docs.openstack.org/tooz/latest/user/compatibility.html
Subjectively, a backing store for a coordination system should be consistent.
This thread has some considerations discussed: http://lists.openstack.org/pipermail/openstack-dev/2017-March/113885.html
Based on what I see, designate requires leadership and grouping support:
https://github.com/openstack/designate/blob/master/designate/coordination.py
From the compatibility page I can see that only zookeeper checks all boxes while being a consistency-oriented system.
There are two drivers for etcd (2 and 3). etcd 3 supports distributed lock manager (DLM) functionality and group membership but not leadership: https://github.com/openstack/tooz/blob/master/tooz/drivers/etcd3.py
Designate uses those two methods in coordination.py which are not implemented for etcd3 in tooz: "@staticmethod def watch_elected_as_leader(group_id, callback): raise tooz.NotImplemented
@staticmethod def unwatch_elected_as_leader(group_id, callback): raise tooz.NotImplemented"
I don't think redis is much better for coordination purposes than memcached being a mostly in-memory store.
https:/ /docs.openstack .org/tooz/ latest/ user/drivers. html#characteri stics /docs.openstack .org/tooz/ latest/ user/compatibil ity.html
https:/
Subjectively, a backing store for a coordination system should be consistent.
This thread has some considerations discussed: http:// lists.openstack .org/pipermail/ openstack- dev/2017- March/113885. html
Based on what I see, designate requires leadership and grouping support:
https:/ /github. com/openstack/ designate/ blob/master/ designate/ coordination. py
From the compatibility page I can see that only zookeeper checks all boxes while being a consistency- oriented system.
There are two drivers for etcd (2 and 3). etcd 3 supports distributed lock manager (DLM) functionality and group membership but not leadership: https:/ /github. com/openstack/ tooz/blob/ master/ tooz/drivers/ etcd3.py
Designate uses those two methods in coordination.py which are not implemented for etcd3 in tooz: as_leader( group_id, callback):
"@staticmethod
def watch_elected_
raise tooz.NotImplemented
@staticmethod elected_ as_leader( group_id, callback): nted"
def unwatch_
raise tooz.NotImpleme