Add a Redis Sentinel backend
This new backend allows using a Redis Sentinel cluster to reliably store objects in the cache.
With the redundancy and automatic master switching in a Redis Sentinel cluster, it ensures that the service and data stays available even if some of the storage nodes go down.
Please note that due to the delay in Redis replication, some of the most recent data inserted in the current master can be lost if this host goes down before having a chance to replicate the change. It also takes some time for Sentinel to detect a host going down and elect a new master, so a short outage may occur when the current master fails.
Redis Sentinel documentation (https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/) recommends a minimum of 3 nodes and gives several architecture examples.
Hi @guscarreon , do you have some time to review this PR please ? As you were the one reviewing the first POC by @cyrinux , I think you already have the context 😄
Hello, does any of you have time to review this PR ? Thank you
Hi @sebmil-daily, thanks for your patience. We'll get to this shortly.
Hello @bsardo , thanks for your last message. I'm just sending a small reminder at it was almost one month ago
Hello, would anyone be available to review this ?
Hi @guscarreon , thanks for the review and the suggestion.
I agree that this version has duplicated code, the objective was to clearly separate the configuration options for each scenario (as opposed to our initial PR which was mixing everything in redis.go) and keep compatibility with existing Redis deployments.
I will give a try at merging both source while keeping distinct configuration sections, but won't be able to submit a new PR before at least 2 month, as we have other priorities for the moment.
Right now, a version compiled from this PR is deployed in production on our side since one week, it's working great and fulfills all our requirements.