0

我对策展人和动物园管理员的工作有一个高层次的想法。但是,我不知道他们是在内存中还是在磁盘上管理信息。例如,屏障或分布式队列的“收据”建议在特定路径打开一个节点(节点是文件?);这些节点是在内存中维护的,还是在磁盘/HDFS 上的文件?我认为跨机器的传统屏障现在需要通过策展人屏障来完成;因此,如果涉及繁重的操作,这些操作会不会很慢?

Curator 屏障与传统的 MPI 屏障相比在性能方面如何?

4

1 回答 1

3

ZooKeeper 是一个基于仲裁的单领导系统,因此,虽然它确实在内存中保存状态,但它受到领导者可以维持的吞吐量的限制。ZooKeeper 中的所有状态更改都经过领导者,并同步复制到大多数节点并持久化,但可以在任何节点上进行读取。

在 ZooKeeper 中,节点(或 znode)是指保存在内存中并由磁盘支持的一段状态。它使用类似文件的接口,但 znode 不映射到单个文件。磁盘并不意味着 HDFS,它本质上意味着一个提交日志。

通过将 ZooKeeper 用于锁或屏障,您得到的是线性化。由于共识(法定人数)的限制,一致性的成本相对较高。但是 ZooKeeper 有一个很棒的事件通知系统,可以帮助提高锁和屏障等性能。

于 2015-07-10T17:48:45.260 回答