几种集中式管理框架比较

最近因为项目管理上的需要,调研集中式管理工具。

百度Disconf、携程Apollo、阿里ACM ,三者都可以满足集中式配置,并提供监听,实时改变配置。

关于3个框架的使用以及搭建请自行参考官方API文档,不再叙述。对比了3个框架的配置,如下。

disconf 依赖比较多,比如zookeeper等都需要提供环境;

apollo依赖较少,只有一个db。阿波罗在多环境配置时,需要搭建多个config-server,这种结构非常干净,但是多环境产生成本,所以暂未使用。

ACM阿里目前是不收费的,我们因为用了很多阿里云的服务,所以集成比较方便。

3者的核心都是提供一个配置中心,提供分布式的服务,并提供监听。ACM文档内有spring-cloud的支持。

集成时,对于运行时变量可以通过监听配置;对于spring启动配置参数,可以参考PropertyPlaceholderConfigurer读取配置文件,自定义一个读取类,集成第三方监听。改进后的结构如下,启动时根据远程配置更新本地读取到的properties配置。

	@Overrideprotected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {super.processProperties(beanFactoryToProcess, props);//taosj 20180829 读取完properties之后;根据阿里云的配置,更新properties,并启动监听try {this.logger.info("Start load ACM configuration.");AcmConfig acmConfig = this.getConfig(props);this.registerAcm(acmConfig, props);} catch (Exception e) {this.logger.error("{}", e);}ACM_PROP_MAP = new HashMap();for (Object key : props.keySet()){String keyStr = key.toString();String value = String.valueOf(props.get(keyStr));ACM_PROP_MAP.put(keyStr,value);}}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部