微服务——服务配置中心
背景
通过服务本地文件实现配置的缺点:
1.缺少权限控制:由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制
2.缺少版本控制:在整个开发过程中,配置会经常变更,版本控制非常必要;开发、测试、生产环境会有不同的配置参数;
3.缺少实时控制:配置发生变化后,需要重启才能生效,费时费力,迫切需要实时生效;
4.微服务和分布式带来的变更繁琐问题;
方案
引入治理服务——配置中心
配置中心将配置从各个应用中剥离出来,自成一体,对所有的配置进行单独的统一管理,优雅解决上述问题。总的来说,配置中心就是一种统一管理各种应用配置的基础服务;
功能 | spring cloud config | apollo | nacos |
---|---|---|---|
配置实时推送 | 支持(spring cloud bus) | 支持 | 支持 |
版本管理 | 支持(git) | 支持 | 支持 |
配置回滚 | 支持(git) | 支持 | 支持 |
灰度发布 | 支持 | 支持 | 不支持 |
权限管理 | 支持(依赖git) | 支持 | 不支持 |
多集群 | 支持 | 支持 | 支持 |
多环境 | 支持 | 支持 | 支持 |
监听查询 | 支持 | 支持 | 支持 |
配置格式校验 | 不支持 | 支持 | 支持 |
apollo