首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

分布环境上的配置集中管理

2012-07-01 
分布环境下的配置集中管理最近看了一下项目中的配置感觉很乱,写出一些自己对项目配置的想法,与大家交流。?

分布环境下的配置集中管理

最近看了一下项目中的配置感觉很乱,写出一些自己对项目配置的想法,与大家交流。

?

集中管理的目标:

1:所有节点的配置都集中在一个节点(配置节点)生成、发布、刷新,通过配置模板实现节点的差异化配置达到资源的合理利用

2:配置本身(包括配置文件等)集中在同一目录下,而不是散落在应用的各个角落,从而方便运维人员进行配置

3:开发人员对配置的读取,采用统一的读取方法,而不是各行其道,从而实现对配置的管控,方便以后对配置这边做统一的处理,如缓存、刷新等。

技术特点:

1:通过root.xml 检索配置,不需要把配置文件硬编码在代码中,root.xml 样例

<configs>

<config name="test" path="test.xml" type="xml" cacheable="true"></config>

</configs>

2:通过规则配置文件实现对配置文件的解析,而不需要写java代码,例如root.xml 对应的规则配置文件为 rules-root.xml,其内如如下

<?xml version="1.0" encoding="UTF-8"?>

<digester-rules><pattern value="configs"><object-create-rule classname="com.asiainfo.base.config.Configs"></object-create-rule></pattern><pattern value="configs/config"><object-create-rule classname="com.asiainfo.base.config.Config" /><set-properties-rule><alias attr-name="cacheable" prop-name="cacheAble" /></set-properties-rule><set-properties-rule><alias attr-name="name" prop-name="name" /></set-properties-rule><set-properties-rule><alias attr-name="path" prop-name="path" /></set-properties-rule><set-properties-rule><alias attr-name="type" prop-name="type" /></set-properties-rule><set-next-rule methodname="addConfig" /></pattern></digester-rules>
?

3:通过统一的配置工厂类实现对配置的读取 ConfigFactory.createConfig("test");

4:支持多种类型的配置如xml、properties、数据库等

热点排行