[译]Zookeeper的优势与局限性

1.Zookeeper的优势与局限性

在学习了Zookeeper(后文都简称zk)的介绍和功能后,您已经很好地理解了zk。 如今,在这个zk教程中,咱们将讨论zk的优势和局限性。 zk有几个功能对用户很是有益,但同时也存在一些局限性,因此在咱们使用zk前,必须先了解一下。让咱们分别学习一下zk的优势与局限性服务器

file

2.zk的优势

下面列出了使用zk的各类优势网络

file

01.分布式协调过程简单

zk节点之间的协调过程很是简单分布式

02.同步

zk高度同步,这意味着服务器进程之间既存在互斥又存在合做,同步有助于Apache HBase进行配置管理。性能

03.有序消息

zk跟踪一个数字,表示每一个更新的顺序,保证消息有序学习

04.序列化

根据具体规则,zk对数据进行编码。 另外,它还可确保咱们的应用程序始终如一地运行。 可是,在MapReduce中,咱们使用此方法(序列化)来协调队列以执行正在运行的线程编码

05.速度

在读请求多的状况下,能以很快的速度运行线程

06.可扩展性

此外,能够经过部署更多机器来增强zk的性能blog

07.有序性有何优点?

众所周知,zk中的消息是有序的。 因此,为了实现更高级别的抽象,须要有序性。 这就是有序性对咱们有利的方式教程

08.快

在读多的状况下,zk会很是快队列

09.可靠性

zk很是可靠,由于一旦zk更新了,更新后的数据会一直保持,直到被覆盖更新

10.原子性

zk只有两种状况,要么所有成功,要么所有失败,没有中间状态的状况

11.实时性

zk保证在必定时间段内,客户端最终必定能从服务器上读到最新的数据状态

3.zk的局限性

正所谓,"每一个硬币都有两面",zk在有这么多优势的同时也存在一些缺点,下面就是zk不足的列表

file

01.增长新的zk服务器时可能致使数据丢失

在现有服务器中,当新zk服务器数量超过zk服务中已存在的数量时数据会丢失。 同时,向zk服务发出Start命令,新服务器可能造成仲裁

02.不能迁移

在没有用户干预的状况下,zk服务器没法从版本3.4迁移到3.3,而后再迁移到3.4。

03.节点数

只容许3或5个这样奇数个zk节点(要求奇数是为了保证选举的正常进行由于leader选举要求 可用节点数量 > 总节点数/2,防止脑裂形成集群不可用。同时在容错能力相同的状况下,奇数个节点更节省资源)

04.机架感知复制

目前,它不支持机架放置和感知

05.缩容

不支持减小pod的数量,以防止意外数据丢失

06.磁盘变动

不支持在初始部署后更改volume要求,以防止从新分配意外丢失数据

07.虚拟网络

当服务部署在虚拟网络上时,若是没有彻底从新安装,服务可能没法切换到主机网络。 另外,对于尝试从主机切换到虚拟网络,它们是相同的状况

08.Kerberos

在虚拟网络上,它目前不支持启用Kerberos

09.支持有限

对跨群集方案的支持很是有限。 可是,没有CP系统会一直支持跨集群。 虽然咱们能够说consul彷佛在这方面作得更好

10.复杂

它很是重,因此它须要咱们维持一个至关大的堆栈

相关文章
相关标签/搜索