发布确认confirm 原理及策略(开启,单个、批量、异步)

1、发布确认原理
生产者将信道设置成 confirm 模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了;如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker回传给生产者的确认消息中delivery-tag域包含了确认消息的序列号,此外 broker也可以设置 basicAck 的multiple域,表示到这个序列号之前的所有消息都已经得到了处理。

confirm模式最大的好处在于它是可以 异步 的,一旦发布一条消息,生产者应用程序就可以在等信道返回确认的同时继续发送下一条消息,当消息最终得到确认之后,生产者应用便可以通过回调方法来处理该确认消息,如果RabbitMQ因为自身内部错误导致消息丢失,就会发送一条nack消息,生产者应用程序同样可以在回调方法中处理该nack消息。
————————————————
版权声明:本文为CSDN博主「土味儿~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tu_wer/article/details/123739094

 

 

https://blog.csdn.net/tu_wer/article/details/123739094

posted @ 2023-03-06 20:08  爵士灬  阅读(79)  评论(0编辑  收藏  举报