配置中心选型

     随着线上项目变的日益庞大,每个项目都散落着各种配置文件;因为采用分布式的开发模式,项目之间的相互引用随着服务的不断增多,相互之间的调用复杂度成指数升高,每次投产或者上线新的项目时苦不堪言,因此需要引用配置中心治理。

 

希望可以满足一下的条件:

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

时间: 2024-09-25 18:06:07

配置中心选型的相关文章

一篇好TM长的关于配置中心的文章

配置 (Configuration) 配置(Configuration) 这个概念每个技术人都不陌生,可以说一个不提供几个配置参数的系统都不好意思上线跟别的系统打招呼.那么为什么会是这个样子呢,究其本质是我们人类无法掌控和预知一切,映射到软件领域上,我们总是需要对系统的某些功能特性预留出一些控制的线头,以便我们在未来需要的时候,可以人为的拨弄这些线头从而控制系统的行为特征,我把它叫做 "系统运行时(runtime)飞行姿态的动态调整". 举个简单的例子, logLevel = INFO

Linux环境部署轻量化配置中心

在使用EDAS开发系统时,需要阶段性进行集成测试.而在单元部署时可以选择windows或linux系统.本文以Linux环境为例,给大家讲解一下如何搭建配置中心环境,并进行应用部署和联调测试. 1.环境准备 虚拟化一台centos7.4系统. 下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso 安装java 1.8 下载地址:http://www.oracle.com/techn

开源全局配置中心XDiamond

项目地址: https://github.com/hengyunabc/xdiamond 简介 全局配置中心,存储应用的配置项,解决配置混乱分散的问题.名字来源于淘宝的开源项目diamond,前面加上一个字母X以示区别. wiki 设计思路 在线演示 地址:xdiamond.coding.io,登陆选择standard,用户名密码:admin/admin 特性 所见即所得,在管理界面上看到的所有配置即项目运行时的配置 支持groupId,artifactId,version,profile四个维

springcloud config 分布式配置中心

一.介绍 1.场景: 微服务系统中,系统多.实例多,如果每个系统都有自己一套配置加载.维护的机制,会导致在生产过程中因为配置问题引发的不必要的沟通成本.故障风险.需要采用分布式配置中心统一管理.统一实现方式. 2.Spring cloud config特性 服务端:存储方式(git.svn.本地文件).配置读取方式(环境化.多项目仓库).安全性(访问密码.加密存储).自动刷新. 客户端:加载远程配置.刷新配置.@refreshscope作用域刷新.集成消息总线. 二.docker中运行gitla

springcloud(九):配置中心和消息总线(配置中心终结版)

我们在springcloud(七):配置中心svn示例和refresh中讲到,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了.使用Spring Cloud Bus可以完美解决这一问题. Spring Cloud Bus Spring cloud bus通过轻量消息代理连接各个分布的节点.这会用在广播状态的变化(例如配置变化)或者其他的消息指令.Spr

Windows环境部署轻量化配置中心

在使用EDAS开发系统时,需要阶段性进行集成测试.而在单元部署时可以选择windows或linux系统.本文以windows环境为例,给大家讲解一下如何搭建配置中心环境,并进行应用部署和联调测试. 环境准备 虚拟化一台windows 7企业版系统. 安装java 1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装后使用java -version查看JDK版本

springcloud(八):配置中心服务化和高可用

在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息.这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念.springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,client端去eureka中去获取配置中心server端的服务既可. 这篇文章我们基于配置中心git版本

springcloud(七):配置中心svn示例和refresh

上一篇springcloud(六):配置中心git示例留了一个小问题,当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,这个问题我们先放下,待会再讲.国内很多公司都使用的svn来做代码的版本控制,我们先介绍以下如何使用svn+Spring Cloud Config来做配置中心. svn版本 同样先示例server端的代码,基本步骤一样. 1.添加依赖 <dependencies> <dependency> <groupId>org.springframework

springcloud(六):配置中心git示例

随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置中心便是解决此类问题的灵丹妙药. 市面上开源的配置中心有很多,BAT每家都出过,360的QConf.淘宝的diamond.百度的disconf都是解决这类问题.国外也有很多开源的配置中心Apache的Apache Commons Configuration.owner.cfg4j等等.这些开源的软件