文本总结了ACM相关的概念解释。

迁移到MSE Nacos

ACM进入下线状态,所有配置管理相关的需求由MSE中的Nacos承接(ACM独享版,更好的安全和稳定性)。您需要在ACM控制台导出配置,然后在MSE控制台导入之前导出的配置即可完成迁移。具体操作,请参见将应用配置从ACM迁移到MSE Nacos

配置

在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如WAR,JAR包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成这个步骤。配置变更是调整系统运行时的行为的有效手段之一。

动态配置和静态配置

系统配置可以是静态或者动态配置。配置的版本与软件本身的版本强绑定的称之为静态配置。反之,在同一个版本的系统部署且运行期间配置可以连续发生多次变更的则称之为动态配置。例如build-version: 1.0.0配置与软件版本绑定,称之为静态配置;而线程池大小的配置则可以在系统运行期间连续多次变更,称之为动态配置。

配置管理

在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。

配置推送

配置管理中,常需要配置管理系统将配置的变更分发到相关的系统,从分发到配置生效的过程称为配置推送。

推送轨迹

从配置变更,配置推送到配置生效过程的整个轨迹称为推送轨迹。通过查看某个配置的推送轨迹,我们可以获知一个配置变更在哪些应用上,哪些机器上,在哪个时间点生效,产生了哪些影响等。

配置监听

配置监听,是指ACM允许系统通过使用SDK等方式向ACM系统注册监听器(Listener),从而监听并消费该配置的变更。

配置项

是指一个具体的可配置的参数与其值域,通常是param-key=param-value的形式存在。例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR)就是一个配置项。

配置集

一组相关或者不相关的配置项的集合称为配置集。通常系统中的一个配置文件就是一个配置集,其内包含了系统各个方面配置。例如一个配置集可能包含了系统如数据源、线程池、日志级别等配置项。

配置集ID(Data ID)

在ACM中代表配置集的ID, 是配置组织的维度之一。一般通过Data ID来组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集可以用有意义的名称来标识这个配置集。Data ID通常采用类Java包命名方式(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性,此命名规则非强制。

配置分组(Group)

ACM中配置集的分组,是配置组织的维度之一。通常使用一个有意义的字符串来分组配置集,例如Buy,Trade等,用以区分相同Data ID的配置集。ACM创建配置时,如果用户未填Group名字,则默认用DEFAULT_GROUP代替。Group的常用场景是同一个配置类型用于不同应用或者组件,如database_url配置,MQ_topic配置等。

命名空间(Namespace)

ACM中的命名空间,用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的Group,Data ID的配置。Namespace的常用场景之一是不同环境的配置的区分隔离,如开发测试环境和生产环境的配置隔离等。

配置快照

ACM客户端SDK会在本地生成配置的快照。当客户端无法连接到ACM Server时,可以利用快照提供系统的整体容灾能力。配置快照类似于Git中的本地commit的概念,也类似缓存,会在适当的时机更新,但是没有缓存过期(expire)的概念。