Rabbitmq在生产者发送到mq的时候可能会发生消息丢失的情况,可以使用事务来解决,但是开启了事务后吞吐量就会极大的下降。所以Rabbitmq提供了一个confirm机制,当消息成功发到exchange时,会触发confirm回调。
Rabbitmq在内部从exchange到queue的过程中也可能出现路由失败的情况,也会导致丢消息。Rabbitmq提供了return机制可以解决这个问题,当我们路由失败时,可以通过return回调来将路由失败的消息记录下来进行处理。