zookeeper - 什么是动物园管理员和动物园员如何工作?

  显示原文与译文双语对照的内容

我现在正在读 Apache ZooKeeper 。 我在互联网上查看了很多文档和文章,但是我更加迷惑了,的工作方式。

目前我知道动物园管理员为跨节点同步提供基础设施,应用程序可以使用以确保集群中的任务被序列化或者同步。 它维护了一种由"znodes"组成的树形文件系统。 例如我有一个集群,它是一个主节点和两个追随者,在所有服务器中,这个树文件系统结构总是? 如果我在一个追随者服务器中创建一个新的znode,整个集群将在这个变化中同步?

另一个问题是每个znode只能包含 1M 个数据,因为动物园管理员没有设计为一个大型数据存储来保存非常大的数据值。 但是,如果我需要一种能够存储大数据的分布式数据库,我如何使用ZooKeeper来实现它? 如果这个大数据没有存储在znode中,它应该存储在哪里,以及动物园管理员如何获得这个数据?

时间: 作者:

但是如果我需要一种分布式数据库来存储大数据,我怎么才能实现它。 blender不是汽车;Zookeeper不是大数据存储。

Zookeeper基本上是一个锁服务器插件,并不打算存储大数据。 相反,它可以帮助其他大型数据存储( 例如 HBase ) 通过公开同步工具来实现一致性。

作为最终用户( 只想使用分布式数据库的人) 管理员并不是很有趣。 目标受众的服务/数据存储作者编写最终用户可能想要的东西。

作者:

一个管理员集成必须与大多数( 其中包括主) 一致: 你无法保证集合的特定节点与主机更新。 要保证这样做,你必须通过那个节点编写一些东西: 然后更新节点,之后它将发布更新。 这是因为写是线性的,换句话说,写是严格按照一致性排序的。

我不会在大型存储中使用动物园管理员,原因如下: 每次存储东西时,都要强制多数节点更新。 频繁的书写传播显然违背了你所希望的分布式字符。 在客户机之间进行跨浏览器协调,并利用这种协调来执行对实际分布式/分块数据库的写操作。

作者:
...