RocketMQ 消费异常如何重新发送消息并调试

业务场景

RocketMQ 消费异常,但是重试间隔时间太长(HTTP协议重试策略),需要快速定位到系统异常问题,所以需要手动在控制台发送消息并且发送。

异常消息日志

RocketMQ

云消息队列 RocketMQ 版(原ONS)是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台。RocketMQ 自诞生以来一直服务阿里集团13年,历经多次双十一万亿级数据洪峰稳定性验证。

异步解耦

RocketMQ 消费异常如何重新发送消息并调试

消息重试

云消息队列 RocketMQ 版支持消息重试功能,即Consumer消费某条消息失败或消费超时,云消息队列 RocketMQ 版会根据消息重试机制重新投递消息。

注意事项

  • 一条消息无论重试多少次,这些重试消息的Message ID都不会改变。
  • 消息重试只针对集群消费模式生效;广播消费模式不提供失败重试特性,即消费失败后,失败消息不再重试,继续消费新的消息。

消息重试策略

云消息队列 RocketMQ 版消息收发过程中,若Consumer消费某条消息失败或消费超时,则云消息队列 RocketMQ 版会在重试间隔时间后,将消息重新投递给Consumer消费,若达到最大重试次数后消息还没有成功被消费,则消息将被投递至死信队列。您可以通过消费死信队列中的死信消息来恢复业务异常。

消息重试主要功能行为包括:

  • 重试间隔:上一次消费失败或超时后,距下次消息可被重新消费的间隔时间。
  • 最大重试次数:消息消费失败后,可被云消息队列 RocketMQ 版重复投递的最大次数。

对于TCP协议和HTTP协议,消息重试的重试间隔和最大重试次数有所不同。由于这里是使用的HTTP协议,所以直接看HTTP协议重试策略

HTTP协议重试策略

RocketMQ 消费异常如何重新发送消息并调试

重新发送消息

Step 1. 查找需要发送的 Topic

RocketMQ 消费异常如何重新发送消息并调试

Step 2. 进入 Topic 后点击快速体验

RocketMQ 消费异常如何重新发送消息并调试

Step 3. 快速体验的消息生产和消费

  • 消息内容:就是需要发送的原始消息内容
{
    \\\"userCode\\\": \\\"20241111111100000001\\\",
    \\\"certificateType\\\": \\\"ID_CARD\\\",
    \\\"remark\\\": null,
    \\\"certificateName\\\": \\\"阿克苏\\\",
    \\\"certificateNo\\\": \\\"xxxxxxxxxxxxxx\\\",
    \\\"force\\\": false,
    \\\"auditStatus\\\": 1
}
  • 消息key:消息ID
  • 消息tag:对应的消息tag

填写好相关信息后,点击发送就可以立马进入消费了,从而快速解决系统异常问题。

原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/49930.html

(0)
网络技术联盟站's avatar网络技术联盟站
上一篇 2024年5月11日 上午7:34
下一篇 2024年5月11日 上午7:36

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注