随着线上项目变的日益庞大,每个项目都散落着各种配置文件;因为采用分布式的开发模式,项目之间的相互引用随着服务的不断增多,相互之间的调用复杂度成指数升高,每次投产或者上线新的项目时苦不堪言,因此需要引用配置中心治理。
希望可以满足一下的条件:
1、集中配置,所以的配置文件集中到一个管理平台来治理
2、配置中心修改配置后,可以及时推送到客户端
3、支持大的并发查询
技术调研,配置中心目前有一些开源软件,如下:
1、Qihoo360/QConf
地址:https://github.com/Qihoo360/QConf
优点:成熟,支持百万并发 稳定
缺点:大型,稍显复杂;非java开发语言
2、spring-cloud/spring-cloud-config
地址: https://github.com/spring-cloud/spring-cloud-config
优点:借此学习了解 spring boot\spirng cloud
缺点:依赖于 spring boot;学习内容比较多
3、淘宝 diamond
https://github.com/takeseem/diamond
缺点:已经不维护,学习资料少
4、disconf
https://github.com/knightliao/disconf
优点:使用比较多,java开发
缺点:个人开源项目,也比较新
其它参考文章:
配置中心选型
http://vernonzheng.com/2015/02/09/%E5%BC%80%E6%BA%90%E5%88%86%E5%B8%83%E5%BC%8F%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E9%80%89%E5%9E%8B/
如何实现一个配置中心
http://blog.arganzheng.me/posts/configuration-center-implementation.html
spring config介绍
https://segmentfault.com/a/1190000004356362