内容纲要
作用
- 配合服务治理套路,以达到动态降级、切流量、扩缩容等目的
方式
本地配置
- 方式
- 集成到代码中
- 抽离出配置,写入文件
- 优点
- 开发简单
- 缺点
- 无法动态修改配置
- 修改配置麻烦(尤其机器多了以后)
配置中心
- 方式
- 把配置分离出来,集中存储到配置中心,进行统一管理
- 工作过程
- 配置写入配置中心
- 服务启动时从配置中心拉取配置
- 配置变更时,由配置中心推送或服务主动定时拉取配置
- 实现关键
- 配置存储功能
- 配置注册功能
- 配置反注册功能
- 配置查看功能
- 配置更新推送功能等
- 应用场景
- 资源服务化
- 如:服务器数量众多,单点故障等原因,导致服务不可用,配置中心可以直接在配置修改来排除不可用服务器
- 业务动态降级
- 分组流量切换
- 资源服务化
落地、选型
名称 | 通用性 | 技术核心 | 优点 | 缺点 | 备注 |
---|---|---|---|---|---|
Spring Cloud Config | 只支持 Java | 配置存储在 git 中 | 跟 Spring Cloud 结合的比较好 | 功能弱(只能通过 git 命令操作,且变更配置需要手动刷新) | |
Disconf | 只支持 Java | 分布式,基于 Zookeeper 实现配置变更实时推送给订阅者 | 可以通过统一界面修改配置 | ||
Apollo | 支持 Java、.Net | 分布式 ,客户端和配置中心通过 HTTP 长连接实现通信 | HTTP 通信简单;有统一管理界面;对 Spring Boot 支持好 |