Skip to content

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。

截图

集群拓扑跨节点队列
带复制关系与共享 NodeID 轴的主备拓扑所有节点的所有队列汇入一张虚拟化表格
指标与图表治理
来自分区化 Postgres 的堆积、吞吐与消费者图表用户、分层授权、环境、API 令牌与 OIDC 声明映射

接下来

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.