1 什么是Confirm机制
  • 消息的确认
    Pro投递消息后,若Broker收到消息,则会给Pro一个应答
  • Pro接收应答
    用来确定该消息是否正常地发送到Broker,这种方式也是消息可靠性投递的核心保障
2 Confirm机制流程图

RabbitMQ实战 - Confirm机制_RabbitMQ
Pro发送消息到Broker,Broker接收到消息后,产生回送响应
Pro中有一个Confirm Listener异步监听响应应答

3 如何实现Confirm确认消息?
  1. 在channel上开启确认模式:channel.confirmSelect()
  2. 在channel上添加监听:addConfirmListener,监听成功和失败的返回结果,根据具体的结果对消息进行重新发送、或记录日志等后续处理
4 代码实战
  • Con
    RabbitMQ实战 - Confirm机制_RabbitMQ_02

  • Pro
    RabbitMQ实战 - Confirm机制_RabbitMQ_03

  • 检验 server 是否启动
    lsof -i:5672
    RabbitMQ实战 - Confirm机制_RabbitMQ_04

  • 启动Con,检查管控台
    RabbitMQ实战 - Confirm机制_RabbitMQ_05
    RabbitMQ实战 - Confirm机制_RabbitMQ_06

  • 启动Pro
    RabbitMQ实战 - Confirm机制_RabbitMQ_07
    RabbitMQ实战 - Confirm机制_RabbitMQ_08