跳到主要内容
← 返回 Marshall MQ

实验室笔记 / Marshall MQ

小更新。
大反转。

新招式,少故障,偶尔还有“以前没有它是怎么活过来的?”的时刻。来看看 Marshall MQ 最近的动态。

4 个版本23 项改进与修复一直在折腾,从未停下
CORTEX LABS
实验手记

最新一章

v0.4.02026年10月3日
Marshall MQ
每个版本,都好一点点。

Avro,当庭宣读

6 个让人兴奋的亮点

  • 他看得懂 Avro 了。给 broker 配上兼容 Confluent 的 Schema Registry,每条采用 Confluent 帧格式的消息都会以它本来的记录面目打开——时间戳显示为日期,decimal 显示为数字,枚举显示为名称。
  • 而且照样提出异议:同一个 topic 上出现两个 schema 就是漂移,并以新 schema 新增的字段来命名。他比对的结构是 schema 所声明的结构,因此一个可选字段无论是 null 还是有值,都算同一种结构。
  • 没有 Registry 时他会直说——没有 Registry、Registry 宕机、未知的 schema id——每种情况都有各自的说明。而且他不会把解码后的记录重新呈递回 Avro topic。
  • 消费者组有了自己的界面。点开一个,先宣判,再看数字:已追上、落后以及落后在哪儿、没人在线但活儿在堆积、正在再平衡因而暂不评判。然后是组里有谁,以及它在每个曾经提交过的 topic 上进行到哪儿了。
  • 移动消费者组的位置要从这个界面开始,按 topic 操作;超出分区末尾的 offset 会在按钮出现之前就被指出来。
  • 把 topic 置顶;如果 broker 不再列出某个置顶的 topic,它会继续留着,被划掉并注明原因。给 broker 加星,让它始终排在第一位。

Marshall 给你画了张图

6 个让人兴奋的亮点

  • 他会画出你的 topic:消息在各个分区中的实际分布——承载大部分流量的那个分区,以及邻居都满了它却空空如也的那个。
  • 他一到场就汇报:有多少个 topic、哪些死信队列里有消息、哪些消费者组里没有成员,以及他看不到什么。打开一个 topic,他会留下他的笔记。
  • 该拒绝的时候他依然会拒绝。队列没有分区,单个分区谈不上分布,三个分区里的十四条消息撑不起比例——这些都不会被画成一张健康的图表。
  • 像样的首次运行体验:六个章节,第三章会帮你打开一个 broker,最后一章让你选择由谁来回答“Ask your topic”——Claude Code、Codex,或任何已安装的工具。
  • 能在更多 Mac 上运行:macOS 14 Sonoma 或更高版本,支持 Apple 芯片和 Intel。他说 Kafka 所需的一切都内置在应用中。
  • 修复:测试 RabbitMQ 连接时竟然在跟它说 Kafka 协议;向 RabbitMQ 发布消息的功能被禁用;所有已连接的 RabbitMQ broker 状态点都一直是灰色。

不止一个 broker,也不止 Kafka

6 个让人兴奋的亮点

  • 想开多少个 broker 就开多少个,每个都在自己的标签页中。
  • RabbitMQ,通过管理 API 接入——队列、深度、消费者、绑定、读取和发布。而且在读取之前,他会先告诉你在那里读取消息要付出什么代价。
  • 要求出示证明的 broker:SASL(PLAIN 或 SCRAM)、TLS、两者结合,以及双向 TLS。密码和密钥口令都保存在你的钥匙串中。
  • 把消息放回去,移动消费者组的位置以重放——每项操作都要经过一次询问原因的确认,而且他拒绝移动仍在运行的消费者组。
  • 通过 Mac 上已登录的 AI CLI 向你的 topic 提问。
  • 导航:按 offset 或时间戳定位、分页,以及在消息内部搜索。

你的队列,律师出马。

5 个让人兴奋的亮点

  • 读取 Kafka:每个 topic 都显示其实际保留的深度、每个消费者组的 lag,死信队列排在最前面。
  • 我反对:他会比对读到的每条消息的结构,并在具体的那一行上点名指出不一致的消息。
  • 看不到时他会直说。一个从未提交过的消费者组,lag 是未知,而不是零。
  • 只读不扰:从不加入消费者组,从不提交 offset,也不会因为查询某个 topic 而创建它。
  • 全程支持英语和葡萄牙语。

你已经翻到故事的开头了。

精彩的部分,我们还在写。回到最新版本 ↑