什么是zookeeper和raft的区别?

24

虽然有点愚蠢,但是Zookeeper与Raft相比有什么不同,不是在谈论ZAB而是Zookeeper本身。

我知道Raft可以通过服务器进行领导者选举等操作,但是Zookeeper的作用是什么?有没有类比的方式来解释呢?

3个回答

35

Raft 是一种共识算法/协议,Apache Zookeeper 则是一个产品,是一个集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。

Zookeeper 使用 Zab 作为广播协议,在节点之间传播状态更新。

因此,如果有意义的话,您应该将 Raft 与 Zab 或 Apache Zookeeper 与其他类似系统,如 etcd 进行比较。


你认为Apache Zookeeper可以作为外部系统用于执行共识吗?就像以下问题中所解释的那样:https://stackoverflow.com/q/70088996/5029509 - Questioner

4

Raft是一种共识算法,Zookeeper是由原子广播协议ZAB驱动的键值存储。因此,Zookeeper使您能够异步创建ZNODE,例如/a、/a/b,而无需阻塞等待操作完成。这种风格被称为流水线处理,并且由于ZAB提供了异步线性化保证,因此可以实现。


0

发现一个非常好的URL解释RAFT [链接]

至于Zookeeper,它主要用于存储各种应用程序常用的配置。

使用它的好处在于,考虑到一个分布式的项目,它使用各种常见的配置。为了在这些分布式系统之间保持一致性,您将这些配置存储在中央Zookeeper中,所有应用程序都通过Zookeeper获得这些配置。


1
如果你更喜欢视觉表现,这是另一个很好的解释Raft的网站:http://thesecretlivesofdata.com/ - John
@abhilash_goyal,你认为Apache Zookeeper可以作为外部系统用于执行共识吗?这个问题在下面的链接中有解释:https://stackoverflow.com/q/70088996/5029509。 - Questioner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接