Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between zookeeper and raft?

this is really dumb but what does zookeeper do that raft doesn't - not talking about zab but zookeeper itself.

I get raft does leader election etc. w servers but what's the point of zookeeper? is there an analogy anyone has

like image 391
Lauren Leder Avatar asked Dec 11 '17 19:12

Lauren Leder


People also ask

Is ZooKeeper based on raft?

This post was jointly written by Neha Narkhede, co-creator of Apache Kafka, and Flavio Junqueira, co-creator of Apache ZooKeeper. Many distributed systems that we build and use currently rely on dependencies like Apache ZooKeeper, Consul, etcd, or even a homebrewed version based on Raft [1].

Is ZooKeeper a paxos?

Although ZooKeeper provides similar functionality to the Paxos algorithm, the core consensus algorithm of ZooKeeper is not Paxos. The algorithm used in ZooKeeper is called ZAB, short for ZooKeeper Atomic Broadcast.

Why is raft called raft?

There's a few reasons we came up with the name Raft: - It's not quite an acronym, but we were thinking about the words 'reliable', 'replicated', 'redundant', and 'fault-tolerant'. - We were thinking about logs and what can be built using them. - We were thinking about the island of Paxos and how to escape it.

What is ZooKeeper used for?

ZooKeeper is an open source Apache project that provides a centralized service for providing configuration information, naming, synchronization and group services over large clusters in distributed systems. The goal is to make these systems easier to manage with improved, more reliable propagation of changes.


2 Answers

Raft is a consensus algorithm/protocol, Apache Zookeeper is a product, a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

Zookeeper uses Zab as the broadcast protocol to propagate state updates between nodes in the ensemble.

So, if that makes sense, you should compare Raft against Zab or Apache Zookeeper against some other similar system like etcd.

like image 192
Luciano Afranllie Avatar answered Oct 26 '22 05:10

Luciano Afranllie


Raft is a consensus algorithm, Zookeeper is a Key Value Store driven by the atomic broadcast protocol ZAB. So Zookeeper enables you to asynchronously create ZNODEs like /a, /a/b, without having to block-wait operations to complete. This style is refered to as pipelining, and is enabled by the fact ZAB provides async linearizability guarantee.

like image 37
andoryu- Avatar answered Oct 26 '22 05:10

andoryu-