简约大方自助建站模板,域名备案信息,石景山老山网站建设,互动创意网站为什么80%的码农都做不了架构师#xff1f; Zookeeper 作为一个分布式的服务框架#xff0c;主要用来解决分布式集群中应用系统的一致性问题#xff0c;它能提供基于类似于文件系统的目录节点树方式的数据存储#xff0c;但是 Zookeeper 并不是用来专门存储… 为什么80%的码农都做不了架构师 Zookeeper 作为一个分布式的服务框架主要用来解决分布式集群中应用系统的一致性问题它能提供基于类似于文件系统的目录节点树方式的数据存储但是 Zookeeper 并不是用来专门存储数据的它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化从而可以达到基于数据的集群管理 1. ZooKeeper是否对ZNode有大小限制 如果你仔细看过ZooKeeper的文档会发现文档中对ZNode的大小做了限制最大不能超过1M。 这个1M的大小限制在ZooKeeper的客户端和服务端都有限制 客户端 服务端 可以看出ZooKeeper确实对数据的大小有限制默认就是1M如果希望传输超过1M的数据可以修改环境变量“jute.maxbuffer”即可。 2. 为什么要限制ZooKeeper中ZNode的大小 ZooKeeper是一套高吞吐量的系统为了提高系统的读取速度ZooKeeper不允许从文件中读取需要的数据而是直接从内存中查找。 还句话说ZooKeeper集群中每一台服务器都包含全量的数据并且这些数据都会加载到内存中。同时ZNode的数据并支持Append操作全部都是Replace。 所以从上面分析可以看出如果ZNode的过大那么读写某一个ZNode将造成不确定的延时;同时ZNode过大将过快地耗尽ZooKeeper服务器的内存。这也是为什么ZooKeeper不适合存储大量的数据的原因。 3. 配置管理Configuration Management 配置的管理在分布式应用环境中很常见例如同一个应用系统需要多台 PC Server 运行但是它们运行的应用系统的某些配置项是相同的如果要修改这些相同的配置项那么就必须同时修改每台运行这个应用系统的 PC Server这样非常麻烦而且容易出错。 像这样的配置信息完全可以交给 Zookeeper 来管理将配置信息保存在 Zookeeper 的某个目录节点中然后将所有需要修改的应用机器监控配置信息的状态一旦配置信息发生变化每台应用机器就会收到 Zookeeper 的通知然后从 Zookeeper 获取新的配置信息应用到系统中。 图 2. 配置管理结构图 QQ截图20150521153619.png (176.03 KB, 下载次数: 0) 更多精彩内容请关注http://bbs.superwu.cn 关注超人学院微信二维码 转载于:https://my.oschina.net/crxy/blog/417883