阿里云 RocketMQ 消费时拿不到消息重新消费次数
当前 SDK 用于阿里云 RocketMQ 时一直存在问题:
- 消费时,同一消息多次消费,MessageExt 的
ReconsumeTimes一直为 0,但实际业务中需要使用这个参数决定消息去留; - 对于消费成功的消息,在阿里云 RocketMQ 的消息查询-消息轨迹中,看不到消费信息,一直为尚未消费(如下图示)
上述 2 点是否为同一问题的两个表现?一直没有找到问题原因,期盼大佬解决。
查一下 ReconsumeTimes 相关资料,有资料后才能把相关数据提交上去
大佬将该 SDK 用于阿里云 RocketMQ 时,没发现这个 ReconsumeTimes 一直为 0 的问题吗?还是实际业务中不关注这个?
使用阿里云提供的 SDK,重复消费时 ReconsumeTimes 是实际的消费次数,并且在阿里云 RocketMQ 的消息查询-消息轨迹中,可以看到消费信息——MQ 消息由哪个客户端消费以及消费耗时等等信息。
没有测试过这个功能
@nnhy 大佬如何获取 RocketMQ 消息的重新消费次数呢?
@nnhy 大佬如何获取 RocketMQ 消息的重新消费次数呢?
这块没有研究过,我的工作中也用不到这个,你可以根据前述资料查一下,补充到代码实现中去。
分析一下消息的Properties属性,这是一个字典,你需要的信息,大概率在它里面
@nnhy 找时间看看,主要是不知道在消费失败/成功时,如何将 ReconsumeTimes 提交给 RocketMQ,没有找到相关接口参数。
同问:轨迹也没有
经查,RocketMQ 5.0 开始依靠ChangeInvisibleDuration设置消息不可见时间,并且这个操作通过v2的gRPC来实现,没有指令码,无法通过v1协议实现。 NewLife.RocketMQ 基于传统v1协议,只能实现带有指令码的操作。
同问:轨迹也没有
Add asynchronous message tracing support with hooks for producers and… · NewLifeX/NewLife.RocketMQ@7fbda1f https://github.com/NewLifeX/NewLife.RocketMQ/commit/7fbda1f7dd6a9682155a9dc718c1f2fba7d686a9