1、Zookeeper的优点和局限性
在学习了Zookeeper体系介绍和特性后,您已经很好地理解了Zookeeper。现在,在这个ZooKeeper教程中,我们将讨论ZooKeeper的优点和局限性。有几个功能对用户非常有益。在同一个地方,也有一些限制,我们必须先了解它。
所以,让我们分别学习Zookeeper的好处和限制。
2、ZooKeeper的优点
以下是使用Apache ZooKeeper的各种优点列表:
a. 简单分布式协调过程 Zookeeper中所有节点之间的协调过程非常简单。
b. 同步 Zookeeper的工作高度同步,这意味着服务器进程之间存在互斥和合作。基本上,此同步有助于Apache HBase进行配置管理。
c. 有序消息 Zookeeper跟踪一个数字,通过表示其顺序与每个更新的标记,通过所有消息在这里订购。
d. 序列化 根据特定规则,Zookeeper会对数据进行编码。此外,它还可确保我们的应用程序始终如一地运行。虽然,在MapReduce中,我们使用此方法(序列化)来协调队列以执行正在运行的线程。
e. 速度 在“读取”更常见的情况下,它以10:1的比例运行,这是很快的速度。
f. 可扩展性 此外,可以通过部署更多计算机来加强Zookeeper的性能。
g. 订单如何受益? 众所周知,Zookeeper中的消息处于完美状态。因此,为了实现更高级别的抽象,需要订单。这就是订单对我们有利的方式。
h. ZooKeeper很快
在“读取”工作负载的情况下,Apache Zookeeper
工作得非常快。
i. 可靠性 另外,我们可以说Zookeeper非常可靠。这是因为只要它应用更新,直到客户端覆盖更新,这将从那时起持续存在。
j. 原子性 只有两种情况可能,数据传输成功或完全失败。虽然没有部分交易的情况。
k. 及时性 简单来说,即使是最新的,这意味着在某个确定的时间内,系统客户的视图是最新的或准时的。
3、Zookeeper的局限性
因为,每个硬币都有两面,在Zookeeper的这么多优点之后也有同样的缺点。所以,这里是几个Zookeeper的列表:
a. 添加新的ZooKeeper服务器可能导致数据丢失 在现有服务器中,数据丢失发生在新ZooKeeper服务器数量超过ZooKeeper服务中已存在的数量时。同时,向ZooKeeper服务发出Start命令,新服务器可以形成仲裁。
b. 无法迁移 在没有用户干预的情况下,ZooKeeper服务器无法从版本3.4迁移到3.3,然后再迁移到3.4。
c. 节点数 确保只允许3或5个ZooKeeper节点。
d. 机架感知复制 目前,它不支持机架放置和感知。
e. 缩放 该服务不支持减少pods的数量,以防止意外数据丢失。
f. 磁盘变更 此外,该服务不支持在初始部署后更改卷需求,以防止重新分配意外数据丢失。
g. 虚拟网络 另一个损失是,当服务部署在虚拟网络上时,如果没有完全重新安装,服务可能无法切换到主机网络。此外,对于尝试从主机切换到虚拟网络,它们是相同的情况。
h. Kerberos 在虚拟网络上,它目前不支持启用Kerberos。
i. 有限的支持 对跨群集方案的支持非常有限。但是,没有CP系统会一直支持跨集群。虽然我们可以说consul似乎在这方面做得更好。
j. 复杂 而且,我们可以说对于胆小的人来说,ZooKeeper是不对的。因为它非常重,所以它也需要我们维持一个相当大的堆栈。