前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ 消费异常如何重新发送消息并调试

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

作者头像
Tinywan
发布2024-03-02 08:11:41
6181
发布2024-03-02 08:11:41
举报
文章被收录于专栏:开源技术小栈

业务场景

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

异常消息日志

RocketMQ

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

异步解耦

消息重试

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

注意事项

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

消息重试策略

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

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

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

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

HTTP协议重试策略

重新发送消息

Step 1. 查找需要发送的 Topic

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 业务场景
  • RocketMQ
  • 异步解耦
  • 消息重试
  • 消息重试策略
  • HTTP协议重试策略
  • 重新发送消息
    • Step 1. 查找需要发送的 Topic
      • Step 2. 进入 Topic 后点击快速体验
        • Step 3. 快速体验的消息生产和消费
        相关产品与服务
        消息队列
        腾讯云消息队列 TDMQ 是分布式架构中的重要组件,提供异步通信的基础能力,通过应用解耦降低系统复杂度,提升系统可用性和可扩展性。TDMQ 产品系列提供丰富的产品形态,包含 CKafka、RocketMQ、RabbitMQ、Pulsar、CMQ 五大产品,覆盖在线和离线场景,满足金融、互联网、教育、物流、能源等不同行业和场景的需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档