你们团队是否有RocketMQ创建Topic、GID创建规范呢

这里是weihubeats ,觉得文章不错可以关注公众号小奏技术

背景

早期在使用RocketMQ的时候,系统和开发人员不算多。所以topic的创建会非常随意,各种千奇百怪的topic

比如: order_topicORDER_TOPICorder-topic

各种奇奇怪怪的风格,用_的,用驼峰的,纯大写加下划线的。各种风格

其实这个还不是主要的,比如上面的order_topic,你大致知道这个topic是属于订单组的,比如如果我们出现了一个domain_eventtopic,这时候我们去看这个topic,他是属于哪个系统的呢?实际会比较困惑

包括比如要消费这个topic,我们可以有如下gid gid_domian_event

我看了这个gid也不知道这个gid属于哪个系统的,是属于自己系统消费自己的topic,还是属于其他系统消费domian_event这个topic

所以可以看到如果没有一个topicgid创建规范,有时候这些topicgid会非常没有意义,在做topic或者gid维护的时候看这些名字是非常没有意义的

Topic规范

topic的创建规范我们推荐是 serviceName + topicName(业务名称)

举个🌰

比如我们有订单系统(order)要创建自己的领域事件topic

topic名称为:order-domain-event-topic

消费者(gid)规范

规范:gid + 消费系统 + consume + topic

如果是自己消费自己则省略 消费系统 + consume变成

gid + topic

举个🌰

比如我们支付要消费订单的topic 那么我们的gid为

gid-pay-consume-order-domain-event-topic

如果订单要消费自己的topic呢?

那我们就可以省略 消费系统 + consume,直接是gid+topic

比如 gid-order-domain-event-topic

一些错误的gid命名例子

收益

这样我们看到每个topicgid就知道是干嘛的了

比如给你一个order-domain-event-topic

你就知道是订单组的领域事件topic

看到gid-order-domain-event-topic 就是订单组自己消费自己的order-domain-event-topic

看到gid-pay-consume-order-domain-event-topic就知道是支付用来消费订单的order-domain-event-topic topic

当然如果公司有足够的研发资源还是可以自研RocketMQ 的dashboard,从流程上去规范topic的创建,比如创建topic的时候需要说明属于哪个系统,用途等

不知道其他小伙伴有没有什么更好的建议呢

相关推荐
shepherd11112 分钟前
批量update实现方案全面解析与最佳实践,带你掌握到底怎么批量更新最快、性能最高
后端·mysql
GoGeekBaird16 分钟前
使用GoHumanLoop拓展AI Agent人机协同边界,这次连接到飞书
人工智能·后端·github
汪子熙40 分钟前
什么是 ArkTS
后端·面试
汪子熙42 分钟前
深入解析计算机科学中的 Opaque 概念
后端
满分观察网友z1 小时前
从混乱到有序:我用“逐层扫描”法优雅搞定公司组织架构图(515. 在每个树行中找最大值)
后端·算法
风象南1 小时前
SpringBoot应用开机自启动与进程守护配置
java·spring boot·后端
寻月隐君1 小时前
Rust核心利器:枚举(Enum)与模式匹配(Match),告别空指针,写出优雅健壮的代码
后端·rust·github
满分观察网友z1 小时前
一行代码的惊人魔力:从小白到大神,我用递归思想解决了TB级数据难题(3304. 找出第 K 个字符 I)
后端·算法
程序员岳焱1 小时前
Java 与 MySQL 性能优化:MySQL连接池参数优化与性能提升
后端·mysql·性能优化
这里有鱼汤1 小时前
一招横盘突破选股法,赚钱不靠运气靠图形,靠概率!
后端·python