日常使用消息队列的场景中,我一直都觉得用命令的方式来创建 ConsumerGroup 和 Topic ,通过各种命令获取队列信息是一件很麻烦的事情。 所以我开发了一个有合理运维界面的分布式消息队列系统。消息队列的数据结构沿用 Kafka 的设计,但是只要通过运维界面只要点几个按钮,就可以方便的创建 ConsumerGroup 和 Topic, 调整 ConsumerGroup 和 Topic 的关系,调整 offset 。
项目地址: https://github.com/iambiglee/catmq
因为还在求职中,希望感兴趣的小伙伴可以点一个 star, 方便我和面试官吹吹水。Thanks♪(・ω・)ノ
![]() |
1
Kesendirian0 2024-03-17 10:46:47 +08:00
我之前用 Redis Stream 封装了一个简单的消息队列 SDK 。但专业度、复杂度和您这个没法比。后面好好学习一下,先支持一波👍
|
![]() |
2
Braisdom 2024-03-17 10:52:54 +08:00
哈哈,很不错的项目,点赞了,我也是个开源作者,现在在做商业化项目。
开源项目: https://github.com/braisdom/ObjectiveSql 商业化项目: https://www.agiquery.com |
3
BarackLee OP @Kesendirian0 哪里哪里,都是摸着 kafka 的石头过河,我自己的创意就是为了符合当前国情,加入一堆可视化运维报表界面。
|
![]() |
5
eughplease 2024-03-17 11:07:06 +08:00 via iPhone
star+1
|
![]() |
7
Braisdom 2024-03-17 11:12:12 +08:00
大家互相鼓励,共同进步,让这个世界充满正能量。
|
![]() |
8
xianzhe 2024-03-17 11:25:40 +08:00
"数据库集群 CatMQ 的配置元数据以及服务端和消费端的实时对应关系都会实时存储在数据库中,借用业界成熟的的数据库集群的方案,可以进一步提高系统的可用性。"也就是你把你这个分布式系统的复杂性转嫁到了外部的分布式数据库上?类似于 Kafka 早期那样自己不做选举,协调等工作,交由 zookeeper 实现?
|
9
tairan2006 2024-03-17 11:33:14 +08:00
kafka 也不用手动创建 topic 和消费组啊,配置一下就可以自动创建了。而且命令行支持是必须有的,不然自动化安装的时候你还是要提供 API 给用户。我感觉你这个优点等于没有……
|
![]() |
10
lasuar 2024-03-17 11:36:59 +08:00
|
![]() |
15
lasuar 2024-03-17 11:55:22 +08:00
@Immortal #13 第一个原因是这是个 md 类型项目,第二个原因是到目前为止也只有一个人维护,第三个原因是个人风格。
|
![]() |
16
Braisdom 2024-03-17 12:17:07 +08:00
@lasuar 之前一直在 V 站发 Agile Query ,后面好多人反感了,所以现在都不太敢发了,只在 Twitter 里发了,哈哈
|
18
FreeGuy 2024-03-17 13:32:30 +08:00
如果做到 Delphi 领域肯定会火,可惜是 Java 领域,Java 领域太多了!
|
19
crazyweeds 2024-03-17 13:43:48 +08:00
建议 github 页面弄个截图。
|
20
mr0joker 2024-03-17 15:03:53 +08:00
感谢开源。后续可以拜读代码学习参与下
|
21
BarackLee OP @xianzhe 不是的,服务端的高可用是我内部实现了一套算法,不需要 zookeeper. 因为我的想法就是尽可能的减少外部依赖。
|
22
BarackLee OP @tairan2006 是的,kafka 确实已经足够好了,我开源的想法一反面是学习 kafka, 完整实现一套分布式队列,一方面是想实现能否不需要命令行就可以实现所有的配置。所有的 api 我都提供了,并且都在 web 页面集成。
|
23
BarackLee OP @crazyweeds 好的,多谢建议,截图我全都放到文档中去了,确实应该拿出来一点
|