rocketmq之ack确认

1.消息消费失败,要求重新消费,循环失败消息,逐条发送

2.消息封装最大重试次数,消息当前延迟级别的信息,开始发送

3.broker服务器获取信息,获取订阅组配置信息,是否当前组可重试小于0等

4.commitlog获取详细信息,变更message的topic为retryTopic,原topic放入属性参数

5.根据重试次数和延迟级别判断,如果不符合条件topic设置为死信队列,人工触发处理(topic放入属性)

6.原msgId放入属性

7.messgae存储,判断如果是延迟级别>0,topic改为定时topic,当前的重试topic放入属性

8.存入成功返回结果

持久化消息进度的方式:

1.定时任务每10秒持久化一次,2.负载平衡对于移除的队列进行远程持久化进度,3.拉取的消费数据非法,进行持久化,移除待处理的当前队列信息

Ack卡进度解决方案:

流控不再拉消息,定时扫描清除发回broker重发

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。