【消息队列】RocketMQ 消息的 topic 和 tag 区别以及使用方式

一、简介

在 RocketMQ 中,消息的 Topic 和 Tag 是用于标识和分类消息的两个关键属性。它们有不同的作用和使用方式。

1、Topic(主题):

  • Topic 是消息的高层分类,用于区分不同类型或业务领域的消息。 一个 RocketMQ 集群中可以有多个 Topic,每个 Topic 包含一组相关的消息。
  • 生产者发送消息时,需要指定消息所属的 Topic。消费者订阅消息时,也需要指定要消费的 Topic。
  • 示例:假设有一个电商系统,可以有不同的 Topic 用于存储订单消息、库存消息等,如 OrderTopic、InventoryTopic。

2、Tag(标签):

  • Tag 是在 Topic 的基础上对消息进行更细粒度的分类,用于进一步筛选和过滤消息。
  • 每个消息可以有一个或多个 Tag。同一个 Topic 下的不同消息可以使用相同的 Tag,也可以使用不同的 Tag。Tag 的使用有助于根据业务需求更灵活地过滤和查询消息。
  • 示例:在 OrderTopic 中,可以有不同的 Tag 表示不同的订单状态,如 Paid、Shipped。

二、什么时候该用 Topic,什么时候该用 Tag?

可以从以下几个方面进行判断:

  • 消息类型是否一致:如普通消息、事务消息、定时(延时)消息、顺序消息,不同的消息类型使用不同的 Topic,无法通过 Tag 进行区分。
  • 业务是否相关联:没有直接关联的消息,如淘宝交易消息,京东物流消息使用不同的 Topic 进行区分;而同样是天猫交易消息,电器类订单、女装类订单、化妆品类订单的消息可以用 Tag 进行区分。
  • 消息优先级是否一致:如同样是物流消息,盒马必须小时内送达,天猫超
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值