zookeeper中节点数量理论上仅受限于内存,但一个节点下的子节点数量受限于request/response 1M数据 (size of data / number of znodes)
zookeeper的watch机制用于数据变更时zookeeper的主动通知。watch可以被附加到每一个节点上,那么如果一个应用有10W个节点,那zookeeper中就可能有10W个watch(甚至更多)。每一次在zookeeper完成改写节点的操作时就会检测是否有对应的watch,有的话则会通知到watch。Zookeeper-Watcher机制与异步调用原理
本文将关注以下内容:
- zookeeper的性能是否会受节点数量的影响
- zookeeper的性能是否会受watch数量的影响
测试方法
在3台机器上分别部署一个zookeeper,版本为3.4.3,机器配置:
Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz
16G
java version "1.6.0_32"
Java(TM

本文探讨了Zookeeper在不同节点数量和Watch数量下的读写性能。测试表明,节点数增加不会影响Zookeeper的读写性能,但节点数据大小增大将显著降低性能。此外,Watch对写操作的性能影响较大,尤其是当Watch数量增多时。然而,总的watch数量并未对整体性能产生影响。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



