Artemis Studio 是什么
Apache ActiveMQ Artemis 自带的控制台一次只管理一个 Broker,并不知道集群的存在。在你的问题不跨节点之前,这没有问题——但真正重要的问题总是跨节点的:哪个节点是 live、堆积在哪里、那条消息去了哪里。
Artemis Studio 是另一回事:一个实例,管理多个集群,一切都以集群为单位。
它针对你现有的 Broker 工作。除了你几乎肯定已经开启的管理端点之外,不需要重写 broker.xml,这里也没有任何东西会去启动一个 Broker。
它做什么
| 拓扑 | 主备节点对、复制状态、共享 NodeID 分组,同在一张画布上。HA 角色在每个周期从每个节点轮询得到,绝不由配置推断。一对节点中出现两个 live,就是一次严重的脑裂告警。 |
| 跨节点资源 | 队列、地址、消费者、会话、连接与生产者,跨全部节点汇入一张虚拟化表格,按节点标注来源,通过 SSE 实时更新。 |
| 消息操作 | 浏览、发送、移动、重投、过期、删除、清空——配合只返回受影响数量而不执行的 dry run、服务端强制的批量上限,以及按节点分别汇报的结果。 |
| SQL 控制台 | 对集群中的消息(包括消息体)执行受限的只读 SQL 方言,可选启用受保留期约束的索引与实时 tail。 |
| 请求-应答追踪 | 跨地址、跨节点关联请求与应答,并按你声明的预期统计延迟与超时。 |
| 指标与告警 | 堆积量、吞吐与消费者序列存放在分区化的 Postgres 中,配有图表以及基于所测量数据触发的规则。 |
| 治理 | 所有端点强制认证,动态的角色/权限模型按全局 → 环境 → 集群分层,API 令牌,可选 OIDC/SSO,以及每一次变更调用的审计事件。 |
| MCP 服务器 | 将同样的能力开放给助手,遵循同样的授权与同样的审计链路。 |
它建立在四条规则之上
这些不是愿景,而是代码必须遵守的约束。
对 Broker 天然友好。 读取是批量的——每个节点一次 Jolokia POST,绝不是每个队列一次——并按数据实际变化的速度分层轮询,且受每节点限流器保护。Studio 绝不能成为 Broker 崩溃的原因。
默认安全。 每一个破坏性操作都支持 ?dryRun=true,只返回受影响数量而不执行。清空与删除要求在确认框中键入资源自身的名称。审计事件与命令在同一事务中写入,且在调用 Broker 之前写入,随后用结果更新——因此即使操作中途崩溃,也会留下"曾经尝试过"的记录。
绝不用配置判断 HA 状态。 谁是 live,是每次轮询都要向活着的节点提出的问题。
诚实的能力门控。 当某项功能因连接缺少能力而不可用时,UI 会明说,并给出可以启用它的确切 broker.xml 片段。没有任何东西会被悄悄隐藏;而尚未确认的能力会让控件保持可用并说明这份不确定——缺少证据并不等于证明其不存在。
它刻意不是什么
- 不是 Broker 的安装或配置工具。 它管理你运行的 Broker。
- 不是消息队列客户端。 SQL 控制台仅支持
SELECT,实时 tail 是轮询而非消费;两者都不能改变任何东西。 - 不用 JMX。 主传输是 Jolokia HTTP,Artemis Core 客户端作为第二通道,用于通知与忠实的消息 I/O。
截图
| 集群拓扑 | 跨节点队列 |
|---|---|
![]() | ![]() |
| 指标与图表 | 治理 |
![]() | ![]() |



