zookeeper是什么?原理是什么?

KLQ 2020-04-23 11:54:32 java常见问答 6470

很多人应该都有听说过zookeeper吧,那么究竟什么是zookeeper呢?它的原理又是怎样的?下面一起来了解一下吧。

ZooKeeper

ZooKeeper它是一个分布式的,开放源码的分布式应用程序协调服务,它是Google的Chubby一个开源的实现,也是Hbase和Hadoop的重要组件。

具体的来说,ZooKeeper是一个为分布式应用提供一致性服务的软件,ZooKeeper提供的功能主要包括了,域名服务、组服务、配置维护以及分布式同步等等。

ZooKeeper目标:

将复杂易出错的关键服务封装好,提供简单易用的接口以及性能高效、功能稳定的系统给用户。

ZooKeeper的代码版本当中,提供了选举、队列的接口、分布式独享锁,代码在$zookeeper_homesrc ecipes。

其中分布锁以及队列有C和Java2个版本,选举只有Java版本。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper原理:

以Fast Paxos算法作为基础,所以总的来说,要是你想要弄懂ZooKeeper,那么你就必须对Fast Paxos算法有着很深入的了解,这个是必要的。

以下是ZooKeeper的运转流程(基本的运转流程):

一、选举Leader

二、同步数据

三、选举Leader过程中有很多的算法,可是达到的选举标准是一致的

四、Leader要具有最高的执行ID,类似root权限

五、集群中大部分的机器得到响应并接受选出的Leader

以上就是对于zookeeper以及zookeeper原理的一个简单的介绍了,大家可以详细的去了解以下。

你有想过往java架构师方向发展吗?想了解更多关于java架构师的内容,可以关注本站的java架构师专栏进行学习哦。