.net分布式架构之配置中心

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

开源QQ群: .net 开源基础服务 238543768

开源地址: http://git.oschina.net/chejiangyi/Dyd.BaseService.ConfigManager

.net 统一配置中心

用于所有项目统一的配置集中管理,简化运维和项目部署,具备高灵活性,高性能,高稳定性,高及时性。

同时具备配置项的负载均衡和故障转移,从而实现项目的软性的负载均衡和故障转移能力。

1.高灵活性

一个项目可以自由组合或者继承多个分类配置,多个分类的相同配置项可以被子分类配置项覆盖。

(举例:项目A可以组合使用“基础数据库配置”,“基础监控配置”,“基础日志配置”,“项目A配置”;项目A配置可以定义自身的特殊配置和覆盖一些基础配置)

2.高稳定性

sdk(客户端)默认会在“本地”保存项目的所有配置“快照”,若统一配置中心异常,sdk将从上一次可用“快照”获取配置,并在配置中心恢复后,获取最新版本。

3.高性能

sdk(客户端)默认在本地内存中缓存“最新版本”的项目配置,sdk获取的配置都从内存版本中获取。

4.高及时性

4.1 sdk(客户端)默认心跳时间内连接配置中心获取最新配置修改。

4.2 web端的配置修改,通过第三方消息中间件及时通知相关sdk至配置中心获取最新修改。

4.3 web端可以重启相关分类/相关项目的客户端,重新初始化所有的配置信息。

5.软性负载均衡

可以在web端手工配置某个配置的负载均衡(可以配置不同的使用权重命中不同的负载均衡配置)

(若要自动,请编写任务挂载到“任务调度”中,根据业务情况,动态调整负载均衡权重。参考openapi接口)

6.软性故障转移

可以在web端手工配置某个配置的故障转移。

(若要自动,请编写任务挂载到“任务调度”中,根据业务情况,动态监测当前配置的故障情况,然后选择使用备用故障配置。参考openapi接口)

使用demo

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingXXF.BaseService.ConfigManager;//使用ConfigManager命名空间namespaceDyd.BaseService.ConfigManager.Test

{/** 配置中心使用demo*/publicclassConfigManagerDemo

{///<summary>///配置中心基本配置初始化///</summary>publicvoidInitConfig()

{

XXF.Common.XXFConfig.PRojectName="projecttest";//当前项目名称,项目代码配置或者从App.config/web.config读取XXF.Common.XXFConfig.ConfigManagerConnectString ="server=192.168.17.111;Initial Catalog=dyd_bs_config;User ID=sa;PassWord=123456;";//配置中心管理数据库,项目代码配置或者从App.config/web.config读取}///<summary>///使用demo///</summary>publicvoidUseDemo()

{/** 配置获取优先级

* 1.从本地app.config,web.config中优先获取

* 2.从配置中心获取次之。*/stringconfigkey ="configkey1";varvalue = ConfigManagerHelper.Get<string>(configkey);//获取配置值}

}

}

部分截图

[flash=500,400]http://s1.knowsky.com/20160211/3qe0q4qyppp05.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/hqlbzjqdws305.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/egitmtniyec06.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/54mwrx4qs1i07.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/kkznmywduaf08.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/4raf5anlqer08.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/r5addjj2mhs09.gif[/flash]

[flash=500,400]http://s1.knowsky.com/20160211/umjtkpn4cdd10.gif[/flash]

by 车江毅

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航