分布式配置中心方案
一、配置中心定位:为了解决什么问题?
在应用生命周期管理里面,开发人员通常会将应用中需要变更的一些配置项或元数据信息从代码中分离出来,放在一个单独的配置文件里面;这些单独管理的内容就称为应用配置;对于应用配置的维护,在传统的架构中,应用配置的变更,需要登录服务器手动修改配置来生效;这样就带来以下几个问题:
1. 应用配置无法统一管理,无法保证不同的环境同一份代码,无法做到
配置和代码隔离
2. 应用配置中,对于runtime的配置,配置修改完,需要重启服务器才
能生效
3. 应用配置中,对于一些安全敏感的配置信息,变得不安全
4. 在分布式集群环境中,通过手动管理配置,配置漂移问题
对于配置和代码隔离,做环境区分,通常有几种做法:
1. 应用配置不要写在代码中,全部放在配置文件里面,放在服务器的某
个位置,不同的环境维护不同的配置文件,编译的时候覆盖掉代码的
占位符
2. 如果代码部署方式采用docker部署的方式,通过maven的profile编译
时不同环境激活不同的docker文件
3. 成熟的配置中心中间件产品,应用依赖配置中心客户端