disconf-简介与安装使用

disconf-简介与安装使用

ID:8802713

大小:245.88 KB

页数:14页

时间:2018-04-08

disconf-简介与安装使用_第1页
disconf-简介与安装使用_第2页
disconf-简介与安装使用_第3页
disconf-简介与安装使用_第4页
disconf-简介与安装使用_第5页
资源描述:

《disconf-简介与安装使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、DisConf简述摘要为了更好的解决分布式环境下多台服务实例的配置统一管理问题,本文提出了一套完整的分布式配置管理解决方案(简称为disconf[4],下同)。首先,实现了同构系统的配置发布统一化,提供了配置服务server,该服务可以对配置进行持久化管理并对外提供restful接口,在此基础上,基于zookeeper实现对配置更改的实时推送,并且,提供了稳定有效的容灾方案,以及用户体验良好的编程模型和WEB用户管理界面。其次,实现了异构系统的配置包管理,提出基于zookeeper的全局分布式一致性锁来实现主备

2、统一部署、系统异常时的主备自主切换。通过在百度内部以及外部等多个产品线的实践结果表明,本解决方案是有效且稳定的。技术背景在一个分布式环境中,同类型的服务往往会部署很多实例。这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务。通过这个服务可以轻松地管理成千上百个服务实例的配置问题。王阿晶提出了基于zooKeeper的配置信息存储方案的设计与实现[1],它将所有配置存储在zookeeper上,这会导致配置的管理不那么方便,而且他们没有相关的源码实现。淘宝的diamond[2]是淘宝内部使用的一个管理

3、持久配置的系统,它具有完整的开源源码实现,它的特点是简单、可靠、易用,淘宝内部绝大多数系统的配置都采用diamond来进行统一管理。他将所有配置文件里的配置打散化进行存储,只支持KV结构,并且配置更新的推送是非实时的。百度内部的BJF配置中心服务[3]采用了类似淘宝diamond的实现,也是配置打散化、只支持KV和非实时推送。同构系统是市场的主流,特别地,在业界大量使用部署虚拟化(如JPAAS系统,SAE,BAE)的情况下,同一个系统使用同一个部署包的情景会越来越多。但是,异构系统也有一定的存在意义,譬如,对于

4、“拉模式”的多个下游实例,同一时间点只能只有一个下游实例在运行。在这种情景下,就存在多台实例机器有“主备机”模式的问题。目前国内并没有很明显的解决方案来统一解决此问题。功能特点与设计理念disconf是一套完整的基于zookeeper的分布式配置统一解决方案。它的功能特点是·支持配置(配置项+配置文件)的分布式化管理o配置发布统一化o配置发布、更新统一化(云端存储、发布):配置存储在云端系统,用户统一在平台上进行发布、更新配置。o配置更新自动化:用户在平台更新配置,使用该配置的系统会自动发现该情况,并应用新配置

5、。特殊地,如果用户为此配置定义了回调函数类,则此函数类会被自动调用。·配置异构系统管理o异构包部署统一化:这里的异构系统是指一个系统部署多个实例时,由于配置不同,从而需要多个部署包(jar或war)的情况(下同)。使用Disconf后,异构系统的部署只需要一个部署包,不同实例的配置会自动分配。特别地,在业界大量使用部署虚拟化(如JPAAS系统,SAE,BAE)的情况下,同一个系统使用同一个部署包的情景会越来越多,Disconf可以很自然地与他天然契合。异构主备自动切换:如果一个异构系统存在主备机,主机发生挂机时

6、,备机可以自动获取主机配置从而变成主机。o异构主备机Context共享工具:异构系统下,主备机切换时可能需要共享Context。可以使用Context共享工具来共享主备的Context。·注解式编程,极简的使用方式:我们追求的是极简的、用户编程体验良好的编程方式。通过简单的标注+极简单的代码撰写,即可完成复杂的配置分布式化。·需要Spring编程环境它的设计理念是:·简单,用户体验良好:o摒弃了打散化配置的管理方式[2,3],仍旧采用基于配置文件的编程方式,这和程序员以前的编程习惯(配置都是放在配置文件里)一致

7、。特别的,为了支持较为小众的打散化配置功能,还特别支持了配置项。o采用了基于XML无代码侵入编程方式:只需要几行XML配置,即可实现配置文件发布更新统一化、自动化。o采用了基于注解式的弱代码侵入编程方式:通过编程规范,一个配置文件一个配置类,代码结构简单易懂。XML几乎没有任何更改,与原springXML配置一样。真正编程时,几乎感觉不到配置已经分布式化·可以托管任何类型的配置文件,这与[2,3]只能支持KV结构的功能有较大的改进。·配置更新实时推送·提供界面良好Web管理功能,可以非常方便的查看配置被哪些实例

8、使用了。详细设计架构设计disconf服务集群模式:disconf的模块架构图:每个模块的简单介绍如下:·Disconf-coreo分布式通知模块:支持配置更新的实时化通知o路径管理模块:统一管理内部配置路径URL·Disconf-cliento配置仓库容器模块:统一管理用户实例中本地配置文件和配置项的内存数据存储o配置reload模块:监控本地配置文件的变动,并自动reload到指定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。