开发者社区> 问答> 正文

RabbitMQ保证消费消息不丢失的具体步骤是什么?

RabbitMQ保证消费消息不丢失的具体步骤是什么?

展开
收起
真的很搞笑 2021-10-28 21:00:06 465 0
1 条回答
写回答
取消 提交回答
  • (1)消费者取到消息后,从消息中取出唯一标识,先判断此消息有没有被消费过,若已消费过,则直接ACK(避免重复消费) (2)正常处理成功后,将生产者Redis中的此消息删除,并ACK(告诉server端此消息已成功消费) (3)遇到异常时,捕获异常,验证自己在消息中设定的重试次数是否超过阀值,若超过,则放入死信队列,若未超过,则向将消息中的重试次数加1,抛出自定义异常,进入重试机制 (4)有专门的消费者用于处理死信队列中消费多次仍未消费成功的数据,可以记录日志,入库,人工干预处理

    2021-10-28 21:00:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载