SpringCloud之Config 分布式配置中心
分布式系统面临的—配置问题
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上百个配置文件的管理…/(ㄒoㄒ)/~~
如果没有这样一个东西,每次修改配置文件万一修改错了,就麻烦了,另外修改配置文件一般给运维来做,运维不懂代码,很容易修改错,这时候将相应的配置发布到git通过客户端的方式让运维人员来进行修改就很方便。
能干嘛
1 集中管理配置文件
2 不同环境不同配置,动态化的配置更新,分环境部署比如dev/test/prod/beta/release
3 运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息
4 当配置发生变动时,服务不需要重启即可感知到配置的变化并应用新的配置
5 将配置信息以REST接口的形式暴露
与GitHub整合配置
由于SpringCloud Config默认使用Git来存储配置文件(也有其它方式,比如支持SVN和本地文件), 但最推荐的还是Git,而且使用的是http/https访问的形式