How to configuring Redis in cluster

Hi All,
I am trying to configure redis in cluster mode to make working continuously if one server of redis get down then the remaining will take care of executions without failing. can you please let me know if any configuration for redis cluster done by you.
Can you confirm are we able to add multiple instances of redis in st2 configuration file ?

Thanks
Balaji

Hi @Balaji.p.s,

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. :slight_smile:

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 nodes.

Let’s wait for some others to see if multiple coordination endpoints can be configured.

Cheers,
Marcel

Thanks for info @winem.
can you please confirm If we use above coordination will it work for cluster without fail.

Thanks,
Balaji

As @winem said, you could look into Sentinel. While Stackstorm ships with coordination capability, it’s up to you to design and implement.

If you have specific questions most here will help you out.

1 Like