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

.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);//获取配置值            
        }
    }
}

部分截图

时间: 2025-01-02 03:01:25

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

分布式环境下配置中心实现思考

转载注明出处: 季义钦的博客 最近在考虑分布式环境下配置中心实现. 对于配置中心很难设计. 光用Zookeeper吧,发现一是跨语言支持不好,需要大量跨语言支持的开发,而且没办法在上面增加大量的算法和逻辑. 如果在Zookeeper前面加一层服务的话,又怕成为单点压力. 下面是我画的一个架构图,希望大家帮忙看看,踊跃讨论. 希望各位不管有什么意见和建议.都在下面评论里面留下自己的想法,帮助我改进,谢谢 分布式环境下配置中心实现思考,布布扣,bubuko.com

搭建JEESZ分布式架构7--Zookeeper注册中心安装

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distributed Synchronization).命名服务(Naming Service).集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务.ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证Z

搭建分布式架构 --ZooKeeper注册中心安装

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distributed Synchronization).命名服务(Naming Service).集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务.ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证Z

张升:农业银行的分布式架构应用实践与展望

近年来,以阿里为代表的互联网企业提出的"去IOE",在业界引起了广泛的讨论."去IOE"直接含义是不使用传统IT巨头的产品,这些厂商产品虽然好,但基本处于市场垄断地位,用户议价能力较弱,成本高昂,技术受制于人,供应链风险较大."去IOE"更深层次的含义是采用分布式的架构替代集中式的架构,构建高可用.易扩展.低成本的分布式架构. 随着国家安全可控政策的实施,移动互联网的兴起,业务量的迅速提升,以及利率市场化所带来的成本约束日益显现,银行业信息系统采

Spring Cloud构建微服务架构分布式配置中心

Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分.其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息.加密/解密信息等访问接口:而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息.Spring Cloud Conf

构建微服务架构Spring Cloud:分布式配置中心

Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分.其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息.加密/解密信息等访问接口:而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息.Spring Cloud Conf

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

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用.作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为这些环境创建配置,并且在需要迁移环境的时候获取对应环境的配置来运行. 配置服务器默认采用git来存储

Spring Cloud构建微服务架构 分布式配置中心(加密解密)

在微服务架构中,我们通常都会采用DevOps的组织方式来降低因团队间沟通造成的巨大成本,以加速微服务应用的交付能力.这就使得原本由运维团队控制的线上信息将交由微服务所属组织的成员自行维护,其中将会包括大量的敏感信息,比如:数据库的账户与密码等.很显然,如果我们直接将敏感信息以明文的方式存储于微服务应用的配置文件中是非常危险的.针对这个问题,Spring Cloud Config提供了对属性进行加密解密的功能,以保护配置文件中的信息安全.比如下面的例子: spring.datasource.use

企业分布式微服务云SpringCloud SpringBoot mybatis (六)分布式配置中心

一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client.二.构建Config Server 创建一个spring-boot项目,取名为config-se