Skip to content

配置

环境变量

变量必需说明
ARTEMIS_STUDIO_DB_URLjdbc:postgresql://host:5432/artemis_studio
ARTEMIS_STUDIO_DB_USER / _DB_PASSWORD
ARTEMIS_STUDIO_SECRET_KEY用于加密存储的 Broker 凭据。必须是恰好 32 字节的 Base64,否则应用不会启动:openssl rand -base64 32
ARTEMIS_STUDIO_CONFIG_ENCRYPT_KEY用于解密 studio_config_property 中存放的 {cipher} 值。这是与 ARTEMIS_STUDIO_SECRET_KEY 不同的一把密钥——不要复用
JAVA_OPTS默认为 -XX:MaxRAMPercentage=75

ARTEMIS_STUDIO_SECRET_KEY 无法就地轮换:它是所有已存储 Broker 凭据的加密密钥。丢失它意味着需要重新录入每一个连接的凭据。

两个平面

配置被刻意拆成两半,划分依据是"谁在什么时候改这个值"。

运维平面——studio_setting——存放运维人员在 Studio 运行期间调整的内容:轮询节奏、保留窗口、批量操作上限、SQL 控制台的成本上限。改动即时生效、写入审计,且无需重启。每一个可由设置调节的调度都是一个会重新读取配置的触发器,而不是固定注解,这正是节奏变更能立刻生效的原因。

部署平面——Spring Cloud bootstrap 属性——存放属于这次部署的内容:数据源、密钥、OIDC issuer。这里的值可以以 {cipher} 形式存储,并由 ARTEMIS_STUDIO_CONFIG_ENCRYPT_KEY 解密。系统中没有配置中心。

原因见 ADR-0047,调度如何感知设置变更见 ADR-0048(英文)。

数据库

PostgreSQL,模式由 Liquibase 拥有,并在启动时迁移。Studio 在启动时会针对迁移后的模式校验映射,而不是生成 DDL,因此漂移的模式会大声失败,而不是悄悄出错。

Postgres 拥有配置、用户与审计链路。来自 Broker 的表——queue_snapshotmetric_sample——是可丢弃的缓存:丢了它们只会损失历史,绝不会损失真相。

Broker 连接

通过界面注册,而不是通过环境变量。一个连接保存种子管理端点与凭据,并加密存储。主传输是 Jolokia HTTP;Artemis Core 客户端是第二通道,用于通知与忠实的消息 I/O,依赖它的功能会以它是否可达为门控——而且是可见地门控,并附上可以启用它的 broker.xml

ADR-0002(英文)。

Apache-2.0. Apache ActiveMQ and Apache ActiveMQ Artemis are trademarks of the Apache Software Foundation. Artemis Studio is an independent project, not produced by, endorsed by, or affiliated with the ASF.