开源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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XXF.BaseService.ConfigManager;//使用ConfigManager命名空间 namespace Dyd.BaseService.ConfigManager.Test
{
/*
* 配置中心使用demo
*/
public class ConfigManagerDemo
{
/// <summary>
/// 配置中心基本配置初始化
/// </summary>
public void InitConfig()
{
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>
public void UseDemo()
{
/*
* 配置获取优先级
* 1.从本地app.config,web.config中优先获取
* 2.从配置中心获取次之。
*/
string configkey = "configkey1";
var value = ConfigManagerHelper.Get<string>(configkey);//获取配置值 }
}
}

部分截图

by 车江毅

.net 分布式架构之配置中心的更多相关文章

  1. spring cloud+dotnet core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  2. spring cloud+.net core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  3. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  4. spring cloud+.net core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  5. Spring Cloud构建微服务架构(四)分布式配置中心

    Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对Spring Environm ...

  6. Spring Cloud构建微服务架构(二)分布式配置中心

     注:此文不适合0基础学习者直接阅读,请先完整的将作者关于微服务的博文全部阅读一遍,如果还有疑问,可以再来阅读此文,地址:http://blog.csdn.net/sosfnima/article/d ...

  7. spring cloud 入门系列七:基于Git存储的分布式配置中心

    我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为 ...

  8. Spring Cloud 2-Config 分布式配置中心(七)

    Spring Cloud  Config  1.github配置 2.服务端配置 pom.xml application.xml Application.java 3.配置和命名 1. 配置加载顺序 ...

  9. 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

    基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)   前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...

随机推荐

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. SQL Server表分区

    什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...

  3. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  4. 首个threejs项目-前端填坑指南

    第一次使用threejs到实际项目中,开始的时候心情有点小激动,毕竟是第一次嘛,然而做着做着就感受到这玩意水好深,满满的都是坑,填都填不过来.经过老板20天惨无人道的摧残,终于小有成就. 因为第一次搞 ...

  5. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  6. ABP源码分析一:整体项目结构及目录

    ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...

  7. ABP文档 - Hangfire 集成

    文档目录 本节内容: 简介 集成 Hangfire 面板授权 简介 Hangfire是一个综合的后台作业管理器,可以在ABP里集成它替代默认的后台作业管理器,你可以为Hangfire使用相同的后台作业 ...

  8. [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序

    用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人 ...

  9. react入门参考资料--step by step

    ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出 ...

  10. Java定时任务的常用实现

    Java的定时任务有以下几种常用的实现方式: 1)Timer 2)ScheduledThreadPoolExecutor 3)Spring中集成Cron Quartz 接下来依次介绍这几类具体实现的方 ...