本文采取的配置中心为Apollo,携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境,不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。
微服务体系,采用的为SpringCloud
一、问题
1.微服务体系中为什么引入配置中心--apollo?
随着业务的发展、微服务架构的升级,服务的数量、程序的配置日益增多(各种微服务、各种服务器地址、各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:
- 安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏
- 时效性:修改配置,需要重启服务才能生效
- 局限性:无法支持动态调整:例如日志开关、功能开关
因此,我们需要配置中心来统一管理配置。
那选用什么样的配置中心?根据无数前人的坑和发明创造,总结
Apollo:
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。XDiamond:
全局配置中心,存储应用的配置项,解决配置混乱分散的问题。名字来源于淘宝的开源项目diamond,前面加上一个字母X以示区别。Qconf:
QConf 是一个分布式配置管理工具。 用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。