1、分布式配置中心
1.1、为什么要使用分布式配置中心
产生的背景:在微服务中如果使用传统的方式管理配置文件,配置文件管理非常复杂。如果生产环境配置文件可能需要发生改变的时候,重新打包重新读取配置信息在jvm内存中。
1.2、什么是分布式配置中心
在微服务当中使用同一服务器管理所有服务配置文件信息,能够实现后台可管理,当服务器正在运行的时候,如果配置文件需要发生改变,可以实现不需要重启服务器实时更改配置文件信息。
热部署底层其实还是会重启服务器,不适合于生产环境只适合于本地开发测试。
1.3、分布式配置中心框架
阿波罗 携程写的分布式配置中心,有图形界面可管理配置文件信息,配置文件信息存放数据库里面;
springcloud config没有后台可管理分布式配置中心,配置文件信息存放在版本控制器里面(git、svn);
使用zookeeper实现分布式配置中心,持久节点 + 事件通知;
1.4、分布式配置中心原理
1.4.1、首先分析分布式配置中心需要哪些组件
a、 web管理系统--后台可以使用图形界面管理配置文件,SpringCloud config没有图形化管理配置文件。
b、 存放分布式配置文件服务器(持久存储服务器)--使用版本控制器存放配置文件信息使用git环境。
c、 ConfigServer缓存配置文件服务器(临时缓存存放)
d、 ConfigClient读取ConfigServer配置文件信息
1.5、搭建git环境 目的:持久化存储配置文件信息采用码云(https://gitee.com)
git环境上文件夹以项目进行区分
a、公司项目中环境是如何区分
dev开发环境、sit 测试环境、pre预发布环境、prd准生产环境
b、在git上如何存放配置文件
1.6、默认情况下SpringCloud不能及时获取实时变更的配置文件信息,可以通过手动或自动刷新,手动需要人工调用接口读取最新配置文件(监控中心)http://localhost:9503/actuator/refresh,自动刷新-消息总线进行实时通知springbus性能不是很好。
不建议自动刷新,建议人工调用接口进行刷新。