一架梯子,一头程序猿,仰望星空!
RabbitMQ面试题 > 内容正文

RabbitMQ面试题:如何确保消息正确地发送至RabbitMQ?


RabbitMQ支持Confirm模式,确认消息有没有安全的投递给RabbitMQ。

下面是大致原理:

将信道设置成 confirm 模式(发送方确认模式),则所有在信道上发布的消息都会被指派一个唯一的 ID。

一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久化的消息),信道会发送一个确认给生产者(包含消息唯一 ID)。

如果 RabbitMQ 发生内部错误从而导致消息丢失,会发送一条 nack(notacknowledged,未确认)消息。

发送方确认模式是异步的,生产者应用程序在等待确认的同时,可以继续发送消息。当确认消息到达生产者应用程序,生产者应用程序的回调方法就会被触发来处理确认消息。


推荐教程