《RabbitMq实战指南》中的autoAck与《深入RabbitMq》中的no-ack其实是同一个意思:
借《深入RabbitMq》中的图例说明
autoAck(同no-ack)为true的时候,消息发送到操作系统的套接字缓冲区时即任务消息已经被消费,但如果此时套接字缓冲区崩溃,消息在未被消费者应用程序消费的情况下就被队列删除。
所以,如果想要保证消息可靠的达到消费者端,建议将autoAck字段设置为false,这样当上面套接字缓冲区崩溃的情况同样出现,仍然能保证消息被重新消费。
《RabbitMq实战指南》中的autoAck与《深入RabbitMq》中的no-ack其实是同一个意思:
借《深入RabbitMq》中的图例说明
autoAck(同no-ack)为true的时候,消息发送到操作系统的套接字缓冲区时即任务消息已经被消费,但如果此时套接字缓冲区崩溃,消息在未被消费者应用程序消费的情况下就被队列删除。
所以,如果想要保证消息可靠的达到消费者端,建议将autoAck字段设置为false,这样当上面套接字缓冲区崩溃的情况同样出现,仍然能保证消息被重新消费。