2 ms·
The N/2+1 is only applicable in a system featuring strong consistency and availability as soon as the majority of processes are working. This in turn requires t
by antirez 13y ago
The N/2+1 is only applicable in a system featuring strong consistency and availability as soon as the majority of processes are working. This in turn requires that failover only works if we can see the majority of the replicas, so we are sure that at least one of the replicas will have a replication offset high enough to include all the writes reaching half+1 the replicas.
In this model you have a fixed number of players that is setup a-priori, and adding or removing a node requires some administration / care. In Redis instead there is no a fixed number of slaves, it is a totally dynamic concept, so it is hard to apply, when you want such a configuration you need to hard-code in your client what the N/2+1 magic number is as currently there is no way to obtain it.
Otherwise you can write it into a Redis key itself to make the process more dynamic.
In many other configurations, for WAIT it does not make too much sense to default to N/2+1. One can say, I've 10 replicas but I'm ok as long as the write reaches 3 replicas, as I'm confident that when the master fails one will be alive, and so forth. This will not achieve certain properties but is acceptable in many cases.