Rumah  >  Artikel  >  ZooKeeper是什么?

ZooKeeper是什么?

Guanhui
Guanhuiasal
2020-06-24 17:06:284937semak imbas

ZooKeeper是一个开源的分布式协调器,是一个典型的分布式数据一致性解决方案,其设计目的是将复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的系统,并以一系列简单易用的原子操作提供给用户使用。

ZooKeeper是什么?

ZooKeeper 主要特性

zookeeper本身就是一个分布式程序,只要半数以上节点存活,zookeeper就能正常服务。

为了保证高可用,通常以集群的形态来部署zookeeper,这样只要集群中大部分机器可用,那么zookeeper本身就可用。

zookeeper将数据保存在内存中,这保证了高吞吐和低延迟

zookeeper是高性能的,在读多于写的程序中尤其的高性能,因为写会导致所有服务器间同步状态。

zookeeper有临时节点概念。当创建临时节点的客户端会话保持活动,临时节点就一直存在。而当会话终结时,临时节点就被删除了。

zookeeper底层只提供了两个功能。1 管理用户程序提交的数据, 2 为用户程序提交的数据节点提供监听服务。

ZooKeeper 特点

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。 [2] 

ZooKeeper的基本运转流程:

1、选举Leader。

2、同步数据。

3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。

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

5、集群中大多数的机器得到响应并接受选出的Leader。

推荐教程:《PHP

Atas ialah kandungan terperinci ZooKeeper是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:a--和--a的区别是什么?Artikel seterusnya:Memcache是什么意思?