MQ Studio v0.0.3
Important
macOS —— 此版本尚未使用 Apple 开发者证书签名。
将 MQ Studio 拖入 Applications 后,双击磁盘映像里的「首次运行」。
详见 安装说明。
Kafka 支持,直接走 Kafka 自己的协议,而不是旁边另接一个管理 API。Topic、消费组、
消息与访问控制都已接入;Kafka 本身不报的数字一律留白,不做填充。
新增
Kafka 3.x 与 4.x
- 通过 Kafka 自身协议连接集群,支持 SASL/PLAIN、SASL/SCRAM 与 TLS。SCRAM 摘要
单独作为一个字段:SHA-256 与 SHA-512 在 broker 上是两套独立凭据,同一个用户在
另一种摘要下会认证失败,把这种失败报成「密码错误」是在撒谎。 - 概览、Topic、消费组、消息、发送台、集群、访问控制、配额与告警。
- Topic 展示分区、leader、同步副本与离线副本、副本因子与最小同步副本,行内展开
可看完整配置文档。支持创建、修改与删除;修改只动明确给出的配置项,不会把用户
从未见过的设置悄悄重置回默认值。 - 消费组展示分区级与成员级 lag、状态、协调者与分配策略。支持 Kafka 的全部五种
位点重置 —— 最早、末端、指定时刻、指定 offset、相对偏移 —— 以及把一个组的位点
复制给另一个组、删除消费组。 - 按最新窗口、offset 区间、时刻或 key 浏览日志,以及实时跟随末端。浏览不加入任何
消费组、也不提交位点,因此可以安全地对着生产环境使用。 - 发送支持 key、header、指定分区与 acks 级别,并回显消息落在哪个分区的哪个 offset。
- Broker 展示生效配置与日志目录,包括是哪些分区占掉了空间。
- ACL 按主体分组展示,以及集群自己保存的 SCRAM 用户。集群没有配置 authorizer 时,
两者都会带原因降级,而不是报错。 - 清空 Topic,即 Kafka 自己的截断:现有记录全部不可再读,而位点不回零 —— 停在 900
的消费者仍在 900,只是已经追平了。 - 把分区迁到别的 broker、看着它迁、以及取消进行中的迁移。Kafka 的迁移没有完成事件 ——
分区不再上报它就是迁完了 —— 所以页面去读集群,而不是自己宣布成功。旁边是优先副本选举,
用来把 leader 放回副本列表本来指定的位置。 - 客户端配额:限制挂在「谁在调用」而不是「调用什么」上,可按用户、应用或地址设置,
也包括没有配额点名时它们各自回落到的默认值。 - 集群页的事务:集群知道哪些事务生产者、每个顶住了什么、顶了多久,以及它是否已经超过了
协调者承诺中止它的时限。生产者中途死掉导致管道停住,只有这一页看得出来 —— 这种集群
的其他每一处都是健康的。 - 告警来自分区健康(副本不足、离线、无 leader 分开计数)与消费组 lag。
修复
- 清除连接凭据实际上没有清除。此前只按名字删掉了 RocketMQ 的 AccessKey/SecretKey,
其他家族的密码在「清除」之后仍然留在存储里,下次连接用的还是表单已经声明删掉的
那一份。这个问题自 RabbitMQ 上线起就存在。 - 连接地址为空时的提示写的是 RocketMQ 的 NameServer,让 Kafka 与 RabbitMQ 的用户去
找一个自己表单里根本没有的字段。
说明
- 有三样东西 Kafka 不报,本次也不编。没有死信页:Kafka 没有 broker 侧死信队列,
.DLT后缀是 Spring Kafka 的约定而不是 Kafka 的。没有任何速率,因为管理协议里
就没有。也没有磁盘百分比,因为 Kafka 只报分区占用的字节数,不报承载它的文件系统。
完整变更:v0.0.2...v0.0.3