本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
我的帖子已经打上 开源推广 标签: 是
我的开源项目完整开源,无未开源部分: 是
我的开源项目已链接认可 LINUX DO 社区: 是
我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
先是 rocket-leaf
年初的时候手上几套 RocketMQ 要看,测试、预发、生产,还有客户现场那套。
每套后面都得挂一个 rocketmq-dashboard:JVM 常驻着、端口要开、外网走跳板机,
还得有人记得它挂没挂。查一条消息之前先要确认控制台自己是活的。
所以就打算找一个好用的客户端/面板,降低我的运维成本,但是搜罗了一大圈,只找到了一个需要付费的客户端,再就是官方的这个 dashboard,Java 开发的资源开销大就算了,上古 UI 我是是真的难绷(颜值也是生产力的一部分),于是便萌发了自己写一套开源的想法。
开源之前就打算使用 wails3 开发客户端,就去找 golang 相关的库,又是找了一圈,官方开源的 golang 库是只有使用相关的接口,运维管理的接口大部分都没有,真的是一波三折,跟 Claude 讨论了下,这个接口本质上就是手搓的 TCP 协议,那也没啥呀,说干就干,按照 Java 版的全接口,开发了一版 Golang 的,先把基建打好方便我后面的开发,这个库也开源了
Github:GitHub - amigoer/rocketmq-admin-go: 基于 Go 实现的 RocketMQ 的运维库 · GitHub
说个插曲,上上周正在上班的时候收到一个邮件,看了下原来是 DBX 的作者,跟我说要接入我的这个 RocketMQ 的管理库,也是受宠若惊了,感谢 DBX 大佬的支持。
然后 Rocket-Leaf 就横空出世了,装上就用,写完自己用得挺舒服,边修 issue 边发版,一路发到 v0.1.3。
然后有人来问
用的人慢慢多起来之后,也开始慢慢有人给我项目提 issue 了,非常的开心。但是有个人给我发邮件问我能不能也支持一下 Kafka / RabbitMQ / Pulsar?
我最开始的想法很朴素:加个判断,把 Kafka 塞进去就行了。
真去动手才发现不行。rocket-leaf 从上到下都是照着 RocketMQ 的概念长出来的 —— NameServer、消费组、位点、死信队列,这些词直接写死在页面里、写死在状态里、写死在每一次请求里。想塞第二种 MQ,就得在每一个页面里散着写 if,塞第三种的时候这些 if 会互相打架。
再想到后面接入的 MQ 可能不止这两三种,干脆直接重构了,不然越堆越屎了,趁现在功能还不多。
推到重来
虽然说是推到重来了,但是第一版本其实目前还是只支持 RocketMQ,但是有了好的架构,已经开始排期接入其他 MQ 进来了,也希望大家有需求的话可以使用一下,多提 Issue,感谢!
为了符合现在的架构,就改名 MQ Studio ,版本号从 v0.1.3 退回 v0.0.1 重新开始 —— 因为它确实是个新东西,不是改个名接着往下发。
GitHub: GitHub - amigoer/mq-studio: 🚀 A local-first, cross-platform desktop client for every message queue — one pluggable driver model across RocketMQ, RabbitMQ, Kafka, Pulsar, Redis Stream, MQTT and more. / 本地优先、跨平台的通用消息队列桌面客户端,基于可插拔驱动统一管理 RocketMQ、RabbitMQ、Kafka、Pulsar、Redis Stream、MQTT 等。 · GitHub
接入计划
驱动
状态
RocketMQ 4.x / 5.x
^-^ 已完整落地
RabbitMQ
^-^ 已完整落地
Kafka
^-^ 已完整落地
Pulsar / NATS / MQTT / SQS / Pub-Sub / Service Bus 等
^-^ 排队中
所以目前的版本能连上的还是只有 RocketMQ ,界面上其他协议可见但禁用。
绕了一圈回到原点,但是这并不代表没有进步,给其他 MQ 预留好了位置,接入也只是时间问题了。
发布
今天开发完测试好,也就把版本号重置了,从 V0.0.1 从头开始了
下载
GitHub
Releases · amigoer/mq-studio
🚀 A local-first, cross-platform desktop client for every message queue — one pluggable driver model across RocketMQ, RabbitMQ, Kafka, Pulsar, Redis Stream, MQTT and more. / 本地优先、跨平台的通用消息队列桌面客户端,基于可...
最后欢迎大家前来体验,给一些体验反馈,也非常愿意持续维护和优化这个项目的,也希望大家给个 Star,非常感谢 ^-^
最后感谢 Linux.do 这个平台,看了一年多了,也是昨天才拿到青春版邀请码进来了,非常开心!