RocketMQ - 在RocketMQ的生产实践中积累的各种一手经验总结

(1)灵活的运用tags来过滤数据

在真正的生产项目中,建议大家合理的规划Topic和里面的tags,一个Topic代表了一类业务消息数据,然后对于这类业务得到消息数据,如果希望继续划分一些类别的话,可以在发送消息的时候设置tags。

举个例子,比如我们都知道现在常见的外卖平台有美团、饿了么,还有别的一些外卖,那么加入你现在一个系统要发送外卖订单数据到MQ里去,就可以针对性的设置tags,比如不同的外卖数据都到一个"waimaiOrderTopic"里去,但是不同类型的外卖可以有不同的tags,meituan_waimai、eleme_waimai等等。

然后对于消费"WaimaiOrderTopic"的系统,可以根据tags来筛选,可能你就需要某一种类别的外卖数据就可以了。

(2)基于消息Key来定位消息是否丢失

在消息零丢失方案中,可能要解决的是消息是否丢失的问题,那么如果消息真的丢失了,我们是不是要排查?此时是不是要从MQ里查一下,这个消息是否丢失了?

那么怎么从MQ里查询消息是否丢失呢?可以基于消息key来实现,比如通过下面方式设置一个消息的key为订单id,message.setKeys(orderId); 这样这个消息就具备一个key了。

接着这个消息到Broker上,会基于key构建hash索引,这个hash索引就存放在IndexFile索引文件里。

然后后续我们可以通过MQ提供的命令去根据key查询这个消息,类似下面这样

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法无天过路客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值