1、ACM介绍
应用配置管理ACM(Application Configuration Management)是一款在分布式架构环境中对应用配置进行集中管理和推送的产品。凭借配置变更、配置推送、历史版本管理、灰度发布、配置变更审计等配置管理工具,ACM能帮助您集中管理所有应用环境中的配置,降低分布式系统中管理配置的成本,并降低因错误的配置变更造成可用性下降甚至发生故障的风险。
2、前提条件
登录 ACM 控制台,并创建一个示例配置。
- Data ID:adapter-center-tb-dev-fh.yaml
- Group:不填写,即使用默认的 DEFAULT_GROUP(建议填写,如:com.alibaba.adapter)。
- 配置格式:yaml
- 配置内容:
test:
point: acm-tb-fh
注意点,dataId的组成需要注意一下。说明 ACM 配置的 Data ID 的约定格式为
${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
如:Data ID:adapter-center-tb-dev-fh.yaml
adapter-center-tb:项目的名称,也就是配置文件中的spring.application.name
dev-fh:运行激活的配置文件名,spring.profiles.active
yaml:配置文件的文件格式名,spring.cloud.nacos.config.file-extension
如图所示:
3、bootstrap.yaml文件配置链接参数
spring:
cloud:
nacos:
config:
enabled: true
endpoint: addr-bj-internal.edas.aliyun.com
namespace: af32cba7-037f-4398-bf33-c59c192c64a0
access-key: 285df06676584831b81677a0b75c59bd
secret-key: 5igQhBt/Lf8LWIAwmYpla/UgTCg=
group: com.alibaba.adapter
file-extension: yaml
discovery:
enabled: false
其实做法就是把nacos的配置替换了。
4、代码上获取acm中配置的数据
类上需要加上@RefreshScope注解,这注解可实现配置文件内容实时刷新和推送,不需要重启项目即可实时获取新配置数据;
获取acm配置的参数,可以直接使用spring的@value注解,用法和平常的用法一样;
如图:
5、检查ACM的链接和监听情况
在ACM控制台上,点击自己所建立的配置,选择推送轨迹和监听查询,可以直观查看监听和推送情况;