# configMenagement **Repository Path**: chenld/configMenagement ## Basic Information - **Project Name**: configMenagement - **Description**: 基于zookeeper的配置中心,实现静态数据中心化配置管理,zookeeper的web管理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 56 - **Created**: 2015-10-15 - **Last Updated**: 2020-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 基于Zookeeper的工程文件管理配置中心 在大型集群和分布式应用中,配置不宜分散到集群结点中,或者工程数量较多管理混乱,这时配置应该集中管理,这个配置中心基于使用简单,功能完善为目标,当配置有变化了,无需重启服务,变化了的值会自动下发给各个在使用的服务上,配置数据存于本地缓存,因为是访问内存所以速度很快,有定时刷新缓存和动态监听值的变化来刷新缓存两种方式。同时通过缓存保证了程序运行中zk挂了也不影响服务运行,当然zk号称不会挂的。 工程有api和web管理界面组成,由java开发,maven编译,有任何疑问欢迎指正,也欢迎有想法来完善这个配置中心的朋友一起加入进来完善它。实际开发中可能需要建表来维护配置,下期设计考虑是否加入嵌入式数据库,实现在Zookeeper上直接建表维护工程配置。 邮箱:hezui@163.com QQ:398995774 设计框架:springmvc、freemarker、bootstrap和zkclient ### 一。本地编译好confiApi的工程后,就可以在工程中导入api开始使用: **1.maven包导入** ``` com.zk.config.api configApi 0.0.1-SNAPSHOT ``` **2.spring配置** ``` classpath:conectionStrings.properties classpath:user.properties ``` **3.接下来可以像spring导普通属性文件一样简洁的使用zookeeper上的配置数据了。** 如:配置文件中可以使用#{configProperties['mysql.url']}这样的注入配置,类文件也这样注入 ![输入图片说明](http://git.oschina.net/uploads/images/2015/1007/235323_115c7569_385094.png "在这里输入图片标题") 注意上面的值是创建对象后一次性缓存的值,要使用监听的动态变化的值,在程序中使用configClient.getZkCache().getPropertiesValue(key)获取。zookeeper上存储的节点名带.properties后缀自动识别成Properties文件,否则做普通文件处理,只能根据节点路径获取到整个文件内容。 ### 二.web管理界面 这实际是zookeeper的web管理界面,设计参照了花花的[zookeeper-web - 在线 zookeeper管理工具](https://git.oschina.net/crystony/zookeeper-web),采用新界面,添加节点树形文件管理功能和备份还原功能。 ![输入图片说明](http://git.oschina.net/uploads/images/2015/1014/003329_00eb1341_385094.jpeg "在这里输入图片标题") ![输入图片说明](http://git.oschina.net/uploads/images/2015/1014/004023_ac275e91_385094.jpeg "在这里输入图片标题") ![输入图片说明](http://git.oschina.net/uploads/images/2015/1014/003410_cb28d23c_385094.png "在这里输入图片标题") ![输入图片说明](http://git.oschina.net/uploads/images/2015/1014/003422_b4d5fe9f_385094.png "在这里输入图片标题") ### 问题和建议 邮箱:hezui@163.com QQ:398995774