• 你们团队是否有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的时候需要说明属于哪个系统,用途等

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

  • 相关阅读:
    Centos7使用Nginx配置HTTPS正向代理
    英语学习(娱乐篇)
    MySQL视图详解
    JVM-GC-CMS垃圾回收器
    ModbusTCP 转 Profinet 主站网关控制汇川伺服驱动器配置案例
    免费:实时 AI 编程助手 Amazon CodeWhisperer
    写了一个javaScript数据类型判断的工具(npm--genius-type)
    python学习之基本语法---语法学习前的思想认识---编程思想和代码规范(一)day5
    不可拷贝类
    记录微信小程序项目遇到的几个问题
  • 原文地址:https://blog.csdn.net/qq_42651904/article/details/136421768