Redis Cluster without sharding, with the cluster bus for automatic failovers. This setup can support cluster clients and standalone clients and it can replace sentinel. It can bridge the differences between cluster and standalone mode and can be broken down into these features:
- Allow cross-slot commands
-
6794
-
- Voting replicas
-
12390
-
- Multiple databases (SELECT)
-
2280
-
5181
-
Comment From: madolson
Voting replicas
We don't strictly need to do this along with the other two. It is obviously much less useful without the built in failover, but I think we could at least built it incrementally in the two high level parts you mentioned. CMD API compatibility and then built in HA.
Comment From: zuiderkwast
All three are orthogonal and can be useful by itself i think. Maybe multiple databases is harder to implement in cluster mode as is (and with one dict per slot), or do you think the node shouldn't keep track of slots at all? In that case, unsharded mode is more than just the sum of these three features.
Is deprecating SELECT an option? If it's considered antipattern, is it considered bad style in standalone mode too or only in cluster?
Comment From: madolson
I think enough people use multiple databases to avoid deprecation for. I do think cross-slot and multidb should be done together, since it gives a migration path for folks if we just release those two with flotilla.