Loading

配置中心概述

对于传统的单体应用而言,常使用配置文件来管理所有配置,比如SpringBoot的application.yml文件,但是在微服务架构中全部手动修改的话很麻烦而且不易维护。微服务的配置管理一般有以下需求:
  集中配置管理,一个微服务架构中可能有成百上千个微服务,所以集中配置管理是很重要的。
  不同环境不同配置,比如数据源配置在不同环境(开发,生产,测试)中是不同的。
  运行期间可动态调整。例如,可根据各个微服务的负载情况,动态调整数据源连接池大小等
  配置修改后可自动更新。如配置内容发生变化,微服务可以自动更新配置
综上所述对于微服务架构而言,一套统一的,通用的管理配置机制是不可缺少的主要组成部分。常见的做法就是通过配置服务器进行管理。

常见配置中心

Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Disconf 专注于各种「分布式系统配置管理」的「通用组件」和「通用平台」, 提供统一的「配置管理服务」包括 百度、滴滴出行、银联、网易、拉勾网、苏宁易购、顺丰科技 等知名互联网公司正在使用!「disconf」在「2015 年度新增开源软件排名 TOP 100(OSC开源中国提供)」中排名第16强。

Spring Cloud Config简介

Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以为所有环境中的应用程序管理其外部属性。它非常适合spring应用,也可以使用在其他语言的应用上。随着应用程序通过从开发到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。
 
Spring Cloud Config服务端特性:
  HTTP,为外部配置提供基于资源的API(键值对,或者等价的YAML内容)
  属性值的加密和解密(对称加密和非对称加密)
  通过使用@EnableConfifigServer在Spring boot应用中非常简单的嵌入。
 
Config客户端的特性(特指Spring应用)
  绑定Config服务端,并使用远程的属性源初始化Spring环境。
  属性值的加密和解密(对称加密和非对称加密) 
posted @ 2021-07-29 15:33  1640808365  阅读(771)  评论(0编辑  收藏  举报