24-springcloud-config-1-配置中心

发布时间 2023-04-13 16:23:09作者: companion

配置中心:  

用于解决服务配置管理问题;

1、传统配置方式:

配置信息分散到系统各个角落方式,配置文件或者在代码中;

2、集中式配置中心:

将应用系统中对配置信息的管理作为一个新的应用功能模块,进行集中统一管理,并且提供额外功能;
3、分布式配置中心:

在分布式、微服务架构中,独立的配置中心服务;

为什么需要分布式配置中心?

在分布式微服务体系中,服务的数量以及配置信息日益增多,比如各种服务器参数配置、各种数据库访问参数配置、各种环境下配置信息的不同、配置信息修改之后实时生效等等,传统的配置文件方式或者将配置信息存放于数据库中的方式已无法满足开发人员对配置管理的要求,如:

安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏

时效性:修改配置,需要重启服务才能生效;

局限性:无法支持动态调整:例如日志开关、功能开关;

常用分布式配置中心框架

Apollo(阿波罗):携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景;

diamond : 淘宝开源的持久配置中心,支持各种持久信息(比如各种规则,数据库配置等)的发布和订阅;(更新稍微落后一点)

XDiamond:全局配置中心,存储应用的配置项,解决配置混乱分散的问题,名字来源于淘宝的开源项目diamond,前面加上一个字母X以示区别。

Spring Cloud ConfigSpring Cloud微服务开发的配置中心,提供服务端和客户端支持;