rocket mq的相关话术

本文详细介绍了RocketMQ的基础概念、为何及如何使用,同时深入探讨了RocketMQ确保消息发送成功的机制及消费失败时的处理方法。

**1.rocket mq的 ①what ②why ③where ④how
①rocket mq 是阿里参照kafka思想设计的用java代码来实现的一套消息中间件产品 主要是用于分布式场景下的服务之间的通信
② 因为rocket mq是异步通信 适用于那些只需发送请求而不需要响应的服务之间的通信 这样可以提高效率
③主要是用于分布式场景下 服务之间做异步通信时来使用的
④因为rocket可以由springboot来集成的 所以它基于注解 使用简单
2.rocket mq如何保证消息发送成功
一般都是用数据库配合着redis来解决的
首先就是把发送的id记录到数据库中 然后设置一个状态字段 0代表消息正在发送 1代表消费成功 为了防止突发情况的发生我们可以定义一个定时器 每隔5分钟去数据库跑批(批处理) 然后把状态为0的数据 再重新发送一遍消息 直到消费成功为止
3.RocketMQ消费消息失败的处理办法
首先定义一个ConsumeConcurrentlyStatus类在这里插入图片描述
无法返回CONSUME_SUCCESS状态,消费失败的消息肯定需要放到另一个Topic中,让它一个人等着被再次消费 所以这时会有一个重试队列,用于暂时保存因为各种异常而导致Consumer端无法消费的消息,重试队列的名称是在原队列的名称前加上%RETRY%(这个Topic的重试队列是针对消费组,而不是针对每个Topic设置的)
RocketMQ对于重试消息的处理是先保存至Topic名称为“SCHEDULE_TOPIC_XXXX”的延迟队列中,后台定时任务按照对应的时间进行Delay后重新保存至“%RETRY%+consumerGroup”的重试队列中
整个消费失败流程如图所示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值