消息隊列丟失

消息從生產者出發,發送到消費隊列,最終被消費者消費。

在這個過程中有哪些場景會發生消息丟失呢?

消息隊列
消息路徑

發生消息丟失的場景,如上圖所示:

  1. 消息由生產者發送到隊列中,當消息發出去沒有收到消息隊列的ack,會導致消息的丟失
  2. 消息已經到了隊列,但是在消息還未持久化、消息隊列掛掉重啓,導致消息丟失
  3. 消息已經被消費者持有,但是消費端發生了異常,消息消費失敗,導致消息丟失

同步的方式,捕獲消息發送異常的,異常了在發送消息;

rabbitMq,採用confirm的方式,採用回調的方式,來異步的處理消息發送失敗的情況;

queue設置爲持久化、deliveryMode=2;

消費端,設置爲手動應答,配置死信隊列;

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章