博客
关于我
RabbitMQ - 如保证消息的可靠性?(消息确认、消息持久化、失败重试机制)
阅读量:795 次
发布时间:2023-03-01

本文共 450 字,大约阅读时间需要 1 分钟。

一、消息可靠性

1.1 生产者消息确认(生产者角度)

1.1.1 理论

在生产者这端,RabbitMQ 提供了消息确认机制,确保生产者的消息能够到达队列。

具体而言,生产者在将消息发送给 RabbitMQ 后,会根据消息的处理结果返回相应的响应。常见的有两种类型响应:

  • publish-confirm:正常响应
    • 消息成功投递到交换机,经过路由转发后,成功被消费者接收并确认(ack)。
    • 如果在投递过程中出现问题(例如交换机不存在或名称错误),则会返回 nack。
  • publish-return:异常响应
    • 表示消息在传输过程中遇到问题,具体原因需要结合日志信息进行分析。

    1.1.2 实际应用

    在实际应用中,生产者需要根据返回的响应状态来处理消息投递结果。例如:

    1. 当接收到 publish-confirm 正常响应时,生产者可以记录消息成功投递的日志,并进入等待消费确认的状态。

    2. 当接收到 publish-return 异常响应时,生产者需要重新处理该消息,可能包括重试发送或记录错误日志。

    转载地址:http://zttfk.baihongyu.com/

    你可能感兴趣的文章