redis alone does not offer a solution for this out of the box. But redis has another service called
sentinel. Sentinel is a dedicated service that connects to all redis instances in your cluster and is
aware of the health of each node.
Under the hood, this is a bit tricky because a sentinel node will return the IP and Port of the current
master if the one you’re talking to is not the current master. The client has to establish a new
connection to the IP + Port it just received. But that’s just to know how this works under the hood.
Did you try to configure multiple sentinel instances as described at https://docs.openstack.org/tooz/latest/reference/index.html#redis
So it would be something like
redis://<sentinel host>:<sentinel port>?sentinel=<master
name>& sentinel_fallback=<other sentinel host>:<sentinel port>&
sentinel_fallback=<other sentinel host>:<sentinel port> if you have 3 sentinel
Let’s wait for some others to see if multiple coordination endpoints can be configured.