zookeeper注意几点

为什么80%的码农都做不了架构师?>>>   hot3.png

Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理 
1. ZooKeeper是否对ZNode有大小限制 
如果你仔细看过ZooKeeper的文档,会发现文档中对ZNode的大小做了限制,最大不能超过1M。 
这个1M的大小限制在ZooKeeper的客户端和服务端都有限制: 
客户端:
21170511_qTjB.png 


服务端: 
21170511_Wfxw.png 
可以看出,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. 配置管理结构图 
21170512_u029.png 

  •  

  • QQ截图20150521153619.png (176.03 KB, 下载次数: 0)

    QQ截图20150521153619.png

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:170429_5PZu_2273204.jpg

转载于:https://my.oschina.net/crxy/blog/417883

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【51单片机快速入门指南】7:片上EEPROM

目录硬知识IAP及EEPROM新增特殊功能寄存器介绍EEPROM空间大小及地址小常识大建议常见问题示例程序EEPROM.cEEPROM.h测试程序main.c普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC89C52系列单片机器件手册》 ST…

Flask从入门到做出一个博客的大型教程

https://blog.csdn.net/u014793102/article/category/7661475

Effective C++ 条款03:尽可能使用const

场景一 用于修饰指针 char greeting[] "Hello"; char* p greeting; // non-const pointer, non-const data const char* p greeting; // non-const pointer, const data char* const p greeting; // const pointer, non-const data co…

wndows系统命令总结

window8系统下 打开运行窗口----------鼠标放到任务栏的windows图标下,右击,弹出菜单中如上图或者 打开运行窗口---------按“WINR”键, cmd-------打开命令窗口 services.msc--------打开服务命令 calc-----------启动计算器 dvdplay-------…

【RK3399Pro学习笔记】三、Debian 9 安装 ROS (Thinker Edge R)

目录配置源设置 Key安装初始化rosdep环境配置测试安装rosinstall卸载平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 参考资料: RK3399(Debian9 - stretch) 安装 ROS Lunar —— WB893…

s:iterator标签的使用

1.在说明s:iterator标签的使用前,先了解下struts2中的Value Stack。 这里参考了webwork中对Value Stack的描述,由于struts2是在webwork的基础上进行升级的, 因此webwork对于Value Stack的表述同样适用于struts2。在这里不描述Value Stack具…

perl学习(二)

2019独角兽企业重金招聘Python工程师标准>>> 在perl中又两个必须搞清楚,就是标量值和标量变量,列表和数组。 直接量就是数值在perl程序代码中的表现方式,就是直接写在程序里的数据,是标量值。如12&a…

【RK3399Pro学习笔记】四、ROS 创建工作空间与功能包

目录创建工作空间编译工作空间功能包创建功能包编译功能包设置环境变量检查环境变量平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机器人入门教…

hip-hop初探

啥都不说了,上两张图片先 1、使用hiphop的 2、不使用这玩意的 都是前端部署nginx,转发的后面php的 hhvm的配置文件 /etc/hhvm.hdf 目前结论:facebook的这玩意可能适用于facebook业务,对于我的业务来说反而拖后腿转载于:https://ww…

表达式求值(二叉树方法/C++语言描述)(二)

表达式二叉树节点的数据可能是运算数或运算符,可以使用一个联合体进行存储;同时还需要一个变量来指示存储的是运算数还是运算符,可以采用和栈方法求值中一样的枚举类型TokenType: 1 typedef enum2 {3 BEGIN,4 NUMBER,5 …

python连接mysql

1) 安装 sudo apt-get install mysql-serversudo apt-get install python-mysqldb 2) 使用 import MySQLdbdef get_db_connector():return MySQLdb.connect(hostlocalhost, userroot, passwdchangme, dbdatabaseName)def set_db_close(conn, cur):conn.…

【RK3399Pro学习笔记】五、ROS与USB摄像头

目录usb_cam方法一安装一些要用的包测试usb摄像头方法二下载usb_cam源码编译测试usb摄像头uvc-camera平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 参考资料: ROS下usb_cam的安装 ——…

这是我们的第一篇博客----偕行软件

欢迎您光临我们的网站:链接 转载于:https://www.cnblogs.com/udsoft/p/3259366.html

wp insert post 插入文章到数据库

在 wordpress 主题目录下的 index.php 文件中&#xff0c;添加如下代码 <?php get_header(); ?><?php// 创建文章对象 $my_post array(post_title > 我的测试文章,post_content > 这是一个测试文章。,post_status > publish,post_author > 1…

Eclipse相关快捷键

Alt左箭头,右箭头 以在编辑窗口切换标签Alt上下箭头, 以自动选择鼠标所在行,并将其上下移动Ctrlf6 可以弹出菜单,上面列出可以切换的编辑窗口,这样不用鼠标也可切换Ctrlf7 可以在视图之间切换 ,如编辑视图,输出视图,工程视图Ctrlf8 可以在不同的观察视图中切换,就是在java视图,…

MFC编程之创建Ribbon样式的应用程序框架

Ribbon界面就是微软从Office2007開始引入的一种为了使应用程序的功能更加易于发现和使用、降低了点击鼠标的次数的新型界面。从实际效果来看&#xff0c;不仅外观美丽&#xff0c;并且功能直观&#xff0c;用户操作简洁方便。 利用MFC向导创建Ribbon样式的单文档应用程序框架的…

【RK3399Pro学习笔记】六、ROS发布者Publisher的编程实现

目录如何实现一个发布者C创建功能包编写程序配置CMakeLists.txt编译并运行发布者python创建并编写脚本运行平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学…

linux下svn命令大全

1、将文件checkout到本地目录 svn checkout path&#xff08;path是服务器上的目录&#xff09; 例如&#xff1a;svn checkout svn://192.168.1.1/pro/domain 简写&#xff1a;svn co 2、往版本库中添加新的文件 svn add file 例如&#xff1a;svn add test.php(添加test.php)…

PHP 从结果集中取得一行作为关联数组:

<?php // 假定数据库用户名&#xff1a;root&#xff0c;密码&#xff1a;123456&#xff0c;数据库&#xff1a;RUNOOB $conmysqli_connect("localhost","root","123456","RUNOOB"); if (mysqli_connect_errno($con)) { echo…