SpringCloud之Config(分布式配置中心)

SpringCloud之Config(分布式配置中心)

一.SpringCloud config是什么?
简单来说,Spring Cloud Config就是能将各个 应用/系统/模块 的配置文件存放到统一的地方然后进行管理(Git 或者 SVN),客户端通过接口去获取这些配置文件。
	SpringCloud config 为微服务架构中的微服务提供集中化的外部配置支持,
	配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置
二.SpringCloud config怎么用?
SpringCloud config 分服务端(Server)和客户端(Client)两部分
1.server提供配置文件的存储、以接口的形式将配置文件的内容提供出去
2.client通过接口获取数据、并依据此数据初始化自己的应用
三.配置中心的作用和好处
//统一管理配置, 快速切换各个环境的配置

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

安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏
时效性:修改配置,需要重启服务才能生效
局限性:无法支持动态调整:例如日志开关、功能开关
//Springcloud提供了config组件来解决这种问题
四.搭建config-server项目
步骤:
1.使用Spring Initializr创建SpringBoot项目
2.在启动类中贴上@EnableConfigServer注解
3.添加application.yml并设置相关的配置
4.在码云master分支上新建配置文件order-dev.yml
5.在码云xiaoliu分支上新建配置文件order-dev.yml
6.启动启动类
7.测试:http://localhost:7000/order-dev.yml
	 :http://localhost:7000/master/order-dev.yml
请求路径读取规则:/{label}/{application}-{profile}.yml
label:git 分支
application: 配置文件名,一般是服务名
profile: 环境 dev  test  prod等
application.yml配置文件
server:
  port: 7000

spring:
  application:
    name: config-server #服务名
  cloud:
    config:
      server:
        git:
          #在gitee中新建的仓库路径,注意是地址栏上的(克隆下来即可)
          uri: https://gitee.com/xxx/cloud-config
          #码云账号
          username: wangyifei@qq.com
          #码云账号秘密
          password: 123456
          label: master
          
eureka:
  client:
    #是否将自己注册进去eureka,false为不注册,true注册
    registerWithEureka: true
    #是否从eureka抓取注册信息,单点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetchRegistry: true
    serviceUrl:
      defaultZone:  http://localhost:8761/eureka/
五.分布式配置中心客户端
步骤:
1.在cloud-consumer-order8090中添加config-client的依赖
添加客户端的依赖 
	<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
    </dependency>
2.修改对应服务的配置文件,把application.yml 改为 bootstrap.yml
3.把其他配置都放入到git服务器期中管理 (修改码云上master分支的order-dev.yml)
bootstrap.yml配置
spring:
  application:
    name: order-server
  cloud:
    config:
      label: master  #分支名称
      name: order    #配置文件名称
      profile: dev   #读取后缀名称:
      uri: http://localhost:7000
      #上述4个综合: http://localhost:7000/master/order-dev.yml
eureka:
  client:
    #是否将自己注册进去eureka,false为不注册,true注册
    registerWithEureka: true
    #是否从eureka抓取注册信息,单点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetchRegistry: true
    serviceUrl:
      defaultZone:  http://localhost:8761/eureka/
六.更新码云上配置,服务动态更新配置:Bus数据总线+RocketMQ消息中间件
七.小结
1.Spring Cloud Config就是将配置文件放到统一的位置管理(比如GitHub),客户端通过接口去获取这些配置文件
2.Spring Cloud Config分为服务端和客户端,服务端主要用于存储配置文件,提供接口,
  客户端通过提供的接口获取配置文件数据,并通过此数据初始化当前应用
3.要将Client 模块下的application.yml 改成bootstrap.yml,这是很关键的,
  因为bootstrap.yml是比application.yml先加载的,bootstrap.yml优先级高于application.yml
4.Config能统一管理配置,修改了配置文件,希望不用重启来动态刷新配置,配合Spring  Cloud Bus 使用
5.服务端需要配置好远程仓库的地址 账号 和密码,并在远程仓库将配置文件建好
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Cloud Config配置中心有以下功能: 1. 集中管理应用程序的配置信息 2. 支持多环境配置 3. 支持加密/解密配置信息 4. 支持客户端自动更新配置信息 5. 支持版本管理 6. 支持配置信息的动态刷新 ### 回答2: Spring Cloud Config配置中心是一个可以集中管理、动态更新分布式系统中的配置的工具。它具有以下功能: 1. 集中管理:Spring Cloud Config可以将分布式系统的配置集中存储在一个地方,使得配置信息更加可控和可维护。开发人员可以通过配置服务器统一管理各个环境(如开发、测试、生产)的配置文件,减少配置文件的传统散落问题。 2. 动态更新:在分布式系统中,如果某些配置信息发生变化,传统方式需要重新部署应用程序才能使变化生效。而使用Spring Cloud Config可以实现动态更新,即可以在不重新部署应用的情况下,及时将新的配置信息更新到应用程序中,减少了重新部署对系统的影响和停机时间。 3. 版本管理:Spring Cloud Config允许配置文件进行版本管理,每次更新配置文件都会生成一个新的版本,方便进行配置的历史版本查看和回滚操作。这样可以有效地避免因为配置错误而导致的系统故障,并提高系统的可靠性和稳定性。 4. 分布式支持:Spring Cloud Config支持将配置文件分布式地存储在多个配置服务器中,可以根据需求进行水平扩展和负载均衡,确保系统可扩展性和高可用性。 5. 安全性:Spring Cloud Config提供了对配置文件的安全保护机制,开发人员可以通过对配置文件进行加密和解密操作,确保配置文件的安全性,防止敏感信息泄露。 总的来说,Spring Cloud Config配置中心提供了集中管理、动态更新、版本管理、分布式支持和安全性等功能,帮助开发人员更加方便地管理和维护分布式系统的配置信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值