Hello,
I want to hijack this thread a little bit. Basically, I think that
people should use Sentinel, which is far better than an home made
solution based on a CP store.
Note that the original message in this thread is from 2012. Sentinel
back then was broken (and unstable). New Sentinel can failover in a
matter of hundred of milliseconds, providing the guarantee of an
eventually consistent configuration from the point of view of the
state about the current master, and an eventually consistent behavior
from the point of view of the data set (eventually every node
replicates the same master).
If you use a CP system for Redis failover, and you believe that this
provides a CP system from the point of view of Redis itself, you are
obviously wrong. an eventually consistent configuration during
partitions is the best you can get.
Example: you use zookeeper for failovers. A client and the current
master get partitioned in the minority side. ZK can either don't reply
to you with an updated configuration, or reply stale data, since the
failover can only happen in the majority side. So your client will
still write to the old master. (The solution is to have bound nodes
desynchronization on partitions, which can be achieved by other means
using the Redis configuration).
Moreover home-made solutions will not care to do what Sentinel does,
which is, to also reconfigure all the reachable instances to impose
the current configuration to the Redis nodes, so it is easy to imagine
old masters remaining configured as masters, slaves not reconfigured
correctly, or a failover interrupted half-way to remain inconsistent
forever.
So if you plan to use a non-Sentinel based solution, ask yourself
"why". Either you have sounding technical reasons, if so, please share
with us, or the choice is a random one.
Salvatore
> --
> You received this message because you are subscribed to the Google Groups
> "Redis DB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
redis-db+u...@googlegroups.com.
>
> To post to this group, send email to
redi...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/redis-db.
> For more options, visit
https://groups.google.com/d/optout.
--
Salvatore 'antirez' Sanfilippo
open source developer - GoPivotal
http://invece.org
To "attack a straw man" is to create the illusion of having refuted a
proposition by replacing it with a superficially similar yet
unequivalent proposition (the "straw man"), and to refute it
— Wikipedia (Straw man page)