Zookeeper znode 计数

cha*_*ndu 6 znodes apache-zookeeper

这是zookeeper监控的输出

    zk_version  3.4.6-1569965, built on 02/20/2014 09:09 GMT
    zk_avg_latency  0
    zk_max_latency  0
    zk_min_latency  0
    zk_packets_received 3
    zk_packets_sent 2
    zk_num_alive_connections    1
    zk_outstanding_requests 0
    zk_server_state follower
    zk_znode_count  16349
    zk_watch_count  0
    zk_ephemerals_count 6
    zk_approximate_data_size    19502850
    zk_open_file_descriptor_count   30
    zk_max_file_descriptor_count    4096
Run Code Online (Sandbox Code Playgroud)

我想了解 zk_znode_count 指的是什么,并且我想保持 (zk_znode_count & zk_approximate_data_size) 值最小以避免与关注者的同步问题。

有人可以对这些价值观提出一些见解吗

Chr*_*oth 5

zk_znode_count是 ZooKeeper 集合中存储的 znode 总数。每次客户端创建一个新的 znode 时,该计数器都会增加。每次客户端删除一个新的 znode(无论是显式删除还是在断开连接后删除其临时 znode),此计数器都会递减。

zk_approximate_data_size是 ZooKeeper 集合中存储的所有 znode 的近似内存消耗。它被称为近似值,因为它可能无法考虑内部数据结构中的一些开销因素。(当前实现是 Java将路径ConcurrentHashMap映射String到 znode 数据和一些元数据。)对于大规模使用,最好监视 zk_approximate_data_size 并确保它不会太接近耗尽分配的 JVM 堆大小。