1

我有一个分布式应用程序,我使用 zookeeper 来管理所有分布式服务器中的配置数据。我在每个服务器中的服务需要一些 dll 才能运行。我正在尝试构建一个集中式系统,从中可以将我的 dll 复制到所有服务器。我可以使用 zookeeper 来实现吗?我知道“ZooKeeper 通常不是为大容量存储而设计的”。我的 dll 文件的大小小于 3mb。

4

3 回答 3

3

可以获取多大的节点数据有 1mb 的软限制。根据文档,您可以增加最大数据大小:

黄麻.maxbuffer:

(Java 系统属性:jute.maxbuffer)

此选项只能设置为 Java 系统属性。上面没有 zookeeper 前缀。它指定可以存储在 znode 中的数据的最大大小。默认值为 0xfffff,或略低于 1M。如果更改此选项,则必须在所有服务器和客户端上设置系统属性,否则会出现问题。这真的是一个健全的检查。ZooKeeper 旨在存储大小为千字节的数据。

我不建议为此使用 Zookeeper(您可以更轻松地将二进制文件托管在 Web 服务器上),但理论上它似乎是可行的。

于 2013-10-01T00:29:54.987 回答
2

Zookeeper 设计用于在集群内部传输消息。你能做的最好的事情是创建一个包含 Znodes 的 Znode_A,观察 znode a 的变化。Znode_A 中的每个 Znode 将代表一个 dll 并包含一个 dll 路径。集群上的每个节点都监视 Znode_A 数据更改,因此当创建新的 dll (znode) 时,节点将知道从主存储库复制 dll。

于 2016-02-25T09:08:03.973 回答
-1

为了传输文件,您可以使用 SCP。作为数据,您可以传递 dll 的文件路径。使用 SCP,您可以从基础存储库中提取文件。

于 2016-02-19T09:37:04.593 回答