- 什么是配置中心
- 顾名思义,它是一个独立于程序的可配变量管理中心
- 包括但不限于环境变量,启动参数,组件参数,业务逻辑参数,业务逻辑规则
- 传统配置的痛点
- 格式散乱不标准,团队 - 项目 - 框架 之间五花八门
- 修改后无法实时生效,需要重新发布,在微服务的 N * M 场景下发布耗时且容易引发故障
- 缺乏安全审计和版本控制功能,容易引发生产事故,如不小心将测试环境配置带到生产环境
- 生产环境配置隐私问题,生产配置如果放在代码库中会引起私密配置泄露,增加安全隐患
- 配置中心核心需求
- 应用交付与配置分离
- 多环境多集群集中管理
- 控制台可视化管理
- 配置可审计确保安全
- 历史版本记录及回滚
- 查看客户端监听
- 查看配置推送状态
- 高可用,准实时低延迟
- 分布式去中心化做到 Server 服务无单点故障
- 持久化 DB 主备部署,Server 可对 DB 降级处理
- 每个 Server 节点做好本地 Cache,减少 DB 请求
- 阿里云产品 ACM 调研分析
- 核心概念
- Namepace 命名空间,即为部署环境,如测试环境,预发环境,生产环境
- Group 所属集群,多集群情况下使用,默认 DEFAULT,通常只需使用默认即可
- App 所属应用,不常用,通常使用 DataId 就代替了,文档也没有使用说明
- DataId 配置集合,通常以应用维度聚合,如任务服务可以采用 com.99xs.microsrv.task
- API接口
- 获取服务器IP地址
- getConfig
- getAllConfigByTenant
- addListener
- syncUpdateAll
- deleteAllDatums
- SDK封装
- 配置加密,推送轨迹,监听查询详见官方文档 https://help.aliyun.com/product/59604.html
- ACM架构解析图