New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vote-only cluster instances #4517
Comments
3 years later is still sounds like a good idea |
This is indeed an issue with the current cluster design. Adding quorum (vote-only) nodes would be a great enhancement to Redis Cluster, as it will also provide more deployment flexibility. What you're proposing here goes beyond that as it also requires to consider non-voting masters. This is definitely high on the cluster roadmap. |
I think that, putting it in the most simple terms, this issue is about separating "voting" from "data serving". Similar to how redis-sentinel is separate from actual redis instances or how "coordinators" are separate in undermoon cluster |
I think elasticsearch does this, nodes can be assigned a number of different roles including "master", "voting_only " and "data" so you can have master nodes which only participate in voting. The voting only role just prevents a master node from being elected. Having this in Redis would be quite useful in my situation where we deploy on premises and customers don't want to stand up 3 expensive servers to have redundancy. They could just have 2 with a cheaper machine to participate in voting and doesn't host any data. For now we can probably just run sentinals on all 3 machines and redis nodes on the 2 powerful machines, but it would be nice to be able to do this with a redis cluster. https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html |
almost 6 years later it still sounds like a good idea 🙏🏻 🤞🏻 🥺 |
FYI, maybe #10875 aims to handle it (also aims for unsharded clusters to replace sentinel deployments, so it needs voting replicas). |
Oh, thanks @oranagra for pointing this out! "Failover Coordinator/Topology Director logic" sounds great! 🚀 |
hi,
currently, if you want to install a 3 node cluster (node A, B, C) where each node runs 2 redis instances (usually a master and a slave, but not of each other), you can end up unavailable. Scenario: 1 step) node A becomes unavailable 2) failover is triggered, such that (assume) now B runs two masters 3) node A gets available again 4) one day later B becomes unavailable, such that the cluster looses 2 masters and can no longer do failovers, because only masters can vote - and there is only 1 remaining available master in the cluster.
I know, by design, currently only masters can participate in voting. However, it would be great if one could, for each instance, configure whether or not an instance is allowed to vote and to set-up vote-only cluster instances, because it fixes the 3 nodes with 2 instances per node set-up, because you could simply run 2 instances on every node (ie. non-voters) plus a vote-only instance.
The text was updated successfully, but these errors were encountered: