zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Flavio Junqueira <fpjunque...@yahoo.com.INVALID>
Subject Re: Doubt in Atomic Broadcast
Date Sun, 30 Aug 2015 18:47:08 GMT
Thanks for the insight, Martin.

On 30 Aug 2015, at 18:20, Martin Kersten <martin.kersten.mk@gmail.com> wrote:
> Hi,
>   Zookeeper is all about a shared state called a consensus.

Consensus in the context of zookeeper is about agreeing on state. 

> So everything
> that it is at its core is providing any means of joining a group of servers
> and elect a leader and share information that result in a predictable
> shared state that all servers agree on.

There is a distinction between clients and servers. Client connect to an ensemble and submit
requests. The requests that update the state are replicated to make sure that the replicas
remain consistent.

As for predictability, I think you're referring to consistency. There are too many possible
issues in a distributed system that make predictability really hard if not impossible.

> The most popular consensus algorithm is the Raft algorithm:
> https://ramcloud.stanford.edu/*raft*.pdf. Reading this paper should clarify
> most of your confusion regarding what Zookeeper achieves at its very core.

ZooKeeper isn't based on Raft, it uses Zab. If you're interested in the space of replication
protocols, then reading the Paxos papers and others including Raft makes sense.

> Cheers,
> Martin (Kersten)
> 2015-08-30 17:47 GMT+02:00 Prabhjot Bharaj <prabhbharaj@gmail.com>:
>> Hello Folks,
>> I am going through zookeeper internals described here:
>> http://zookeeper.apache.org/doc/r3.4.6/zookeeperInternals.html
>> I have some very basic doubts in understanding the Gurantees - *Reliable
>> delivery, **Total order *and *Causal order*
>> 1. I do not understand the term - 'delivery' and 'order' in these sections.
>>   a) Delivery - Does 'delivery' refer to delivery of messages from server
>> to server or server to client ?
>>   b) Order - As per this link:
>> https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos, state
>> updates must be ordered - What kind of state updates are these ? Does the
>> term - 'order' in this link and the one shared in the top of this email
>> have the same meaning ?
>> 2. *'**If a message, m, is delivered by one server, it will be eventually
>> delivered by all servers.'* - delivered <from what> <to what> ?
>> 3. If a and b are delivered messages, either a will be delivered before b
>> or b will be delivered before a -- dont really understand what this means !
>> 4. the terms sender - Does sender classify as one of the zookeeper servers
>> in the cluster or the client ?
>> Request you to share your knowledge on my doubts so I can learn more on the
>> internals and be able to use zookeeper effectively
>> Thanks,
>> Prabhjot

View raw message