SpringCloud之Config 分布式配置文件中心

前言

为什么要使用分布式配置中心

1.在微服务如果使用传统方式管理配置文件,配置文件管理非常复杂。

  1. 如果生产环境配置文件,可能需要发生改变的时候,重新打开war,重读取配置信息在jvm内存中

什么是分布式配置中心

  1. 在微服务当中使用同一个服务器管理所有配置文件信息,能够实现后台可管理,当服务器正在运行的时候,如果配置文件发生改变,可以实现不需要重启服务器实时更改配置文件信息。


    图一

分布试配置中心框架

阿波罗 线程写分布式配置中心 有图形界面可管理配置文件信息
SpringCloud Config 没有后台可管理分布配置中心,配置文件信息存放在版本控制器里(git|svn)
在使用Zookeeper 实现分布式配置中心,持久节点+事件通知
热部署 其实底层还是会重启服务器 不适合于生产环境 只适合于本地开发测试 `

SpringCloud Config 分布式配置中心原理

首先分析 分布试配置中心需要哪些组件

1.web管理系统~~~后台可以使用图形化界面管理配置文件 。SpringCloud Config没有图像化管理配置文件存放分布式配置文件服务器~~~使用版本控制器存放配置文件信息 使用git环境
2.ConfigServer缓存配置文件服务器(临时缓存存放)~~~
3.ConfigClient读取configService配置文件信息
搭建git环境的目的 :持久化存储配置文件信息 采用码云
git环境上文件夹以项目进行区分
member_config 会员服务配置文件
order_config 订单服务配置文件
2.公司项目中环境是如何区分

  • dev 开发环境
  • sit 测试环境
  • per 预发布环境
  • prd 准生产环境
  • 演练两个sit环境和pd环境
    3.在git环境上如何存放配置文件

在git环境上创建配置文件命名规范

  1. 会员服务~~~ 服务器名称~~~.properties
    2.服务 名称 环境.properties
    3.member-dev.properties

1默认情况下不能及时获取实时变更的配置文件信息
2 SpringCloud 分布式配置中心 可以采用手动刷新或者自动刷新
手动刷新 ~~~需要人工调用接口 读取最新的配置文件(监控中心)
自己刷新 ~~~ 消息总线进行实时通知 ~~~springbus
手动属性和自己刷新都不需要重启服务器
@RefreshScope 自动刷新注解

在公司当中,不建议使用自动刷新功能,因为对性能不是很好
建议大家每次在修改完配置文件之后,人工调用/actuator/refresh进行刷新。

你可能感兴趣的:(SpringCloud之Config 分布式配置文件中心)