以前一直采用properties文件管理配置信息,如果集群则每一个机器上都要拷贝一份,每次修改也须要依次修改。一直在寻找统一修改,实时生效,方便修改,分环境分系统的配置管理,本身也在整理设计,若找不到合意的就准备本身写一个,能够根据本身需求慢慢改进。经过开源中国微博知道了360的配置管理,看了下没大搞明白,貌似管理不太方便,反正不是我想要的,后来知道了百度的disconf,淘宝也有一个配置管理。我先看了百度的disconf,这就是我想要的,因此没看淘宝那个配置管理。前端
首先这是一个开源项目,托管在github上,地址: https://github.com/knightliao/disconf,官方的文档仍是很丰富的,地址:https://github.com/knightliao/disconf/wiki 。建议先看官方文档,文档很实用,花不了多少时间,我这里仅就官方没说,但刚接触这个的人常见的部分问题说说本身的解决方案,下面是一张运行效果图。java

要看这个项目,须要的知识:java相关技术、前端、git、mysql、tomcat、redis、zookeper、nginx,后面几个简单度一下就能了解个大概。mysql
- 安装git客户端、下载代码、导入eclipse、运行redis、zookeper、mysql就不说了。
- windows上运行sh脚本小知识。
一看项目内容就知道,这应该只考虑了Linux环境开发,只提供了sh脚本,而不少人都是windows开发环境。其实安装git客户端后,windows下是能够运行sh脚本的。以下图就是git下的sh软件和运行效果,须要先按官方教程配置环境变量,我换系统了因此没配置,以前配置过。


- 能不安装nginx吗?
这是我刚开始在官方讨论群提的问题,获得的答案是不能,提到了什么动静分离,因而百度了解了下,对nginx在这里扮演的角色有了一个了解,知道他作了什么,才能知道他是否必须。了解了以后,就会知道,这里应该有多中方式实现不安装nginx,我实现了一种以下图所示,其余方式能够百度springMVC关于静态文件的处理方式,第一张截图就是我在eclipse中用tomcat运行的结果。这个能方便开发,正式环境建议仍是按官方设计的方式使用,nginx对静态文件的处理要比tomcat快很多。

- 看交流群讨论,记录以下几点,能够研究下,看怎么修改能解决问题,而后推送官方,也贡献本身的一份力。 1) 貌似使用spring4时有问题。 2) 有人建议添加配置优先级,先读取环境变量,再各类配置...文件,都没有时提供默认配置。