RabbitMQ发布确认原理
生活随笔
收集整理的這篇文章主要介紹了
RabbitMQ发布确认原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
生產者將信道設置成confirm模式,一旦信道進入confirm模式,所有在該信道上面發布的消息都將會被指派一個唯一的ID(從1開始),一旦消息被投遞到所有匹配的隊列之后,broker就會發送一個確認給生產者(包含消息的唯一ID),這就使得生產者知道消息已經正確到達目的隊列了,如果消息和隊列是可持久化的,那么確認消息會在將消息寫入磁盤之后發出,broker回傳給生產者的確認消息中delivery-tag域包含了確認消息的序列號,此外 broker也可以設置basic.ack 的multiple域,表示到這個序列號之前的所有消息都已經得到了處理。
confirm模式最大的好處在于他是異步的,一旦發布一條消息,生產者應用程序就可以在等信道返回確認的同時繼續發送下一條消息,當消息最終得到確認之后,生產者應用便可以通過回調方法來處理該確認消息,如果RabbitMQ因為自身內部錯誤導致消息丟失,就會發送一條nack消息,生產者應用程序同樣可以在回調方法中處理該nack.消息。
總結
以上是生活随笔為你收集整理的RabbitMQ发布确认原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ不公平分发
- 下一篇: RabbitMQ单个发布确认