[rabbitmq-discuss] How robust is clustering, and under what conditions?
Matthias Radestock
matthias at rabbitmq.com
Thu Nov 15 13:51:28 GMT 2012
Eugene,
On 15/11/12 13:42, Eugene Kirpichov wrote:
> Actually, why couldn't RabbitMQ use a majority quorum for determining
> who's the most up-to-date guy?
>
> Assume 3 nodes: A, B, C. Assume that A is the leader.
>
> Stop A: now B and C elect a leader and, say, they elect B.
> Stop B: now C knows it's no longer part of a quorum and it just sits
> there unresponsive. B doesn't behave like a leader either (if it was
> just partitioned and not killed). Ok.
> Start A: A and C now form a quorum with C as the most up-to-date member;
> they elect C as the leader and A synchronizes from C.
> Start B: B synchronizes from C too.
The above stop/start sequence works perfectly fine in rabbit. The key is
that C was running all the time.
If, otoh, C had been stopped too then neither A and B would start until
C comes up. I can't see how anything else would be possible w/o throwing
away data since C is the *only* node containing the most recent version
of the data.
Matthias.
More information about the rabbitmq-discuss
mailing list