之前一直采用properties文件管理配置信息,若是集群则每个机器上都要拷贝一份,每次修改也需要依次修改。一直在寻找统一修改,实时生效,方便修改,分环境分系统的配置管理,自己也在整理设计,若找不到合意的就准备自己写一个,可以根据自己需求慢慢改进。通过开源中国微博知道了360的配置管理,看了下没大搞明白,貌似管理不太方便,反正不是我想要的,后来知道了百度的disconf,淘宝也有一个配置管理。我先看了百度的disconf,这就是我想要的,所以没看淘宝那个配置管理。
首先这是一个开源项目,托管在github上,地址: https://github.com/knightliao/disconf,官方的文档还是很丰富的,地址:https://github.com/knightliao/disconf/wiki 。建议先看官方文档,文档很实用,花不了多少时间,我这里仅就官方没说,但刚接触这个的人常见的部分问题说说自己的解决方案,下面是一张运行效果图。
要看这个项目,需要的知识:java相关技术、前端、git、mysql、tomcat、redis、zookeper、nginx,后面几个简单度一下就能了解个大概。
- 安装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) 有人建议添加配置优先级,先读取环境变量,再各种配置文件,都没有时提供默认配置。
由于官方文档比较详细,这里基本没有提到disconf本身的用途,使用方式。建议到处问人前先仔细看看官方教程。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn