rabbitMQ重複消費的問題

使用消息隊列的好處

1)解耦
2)異步
3)削峯限流

如果保證不會重複消費

1)給每個消息都配一個全局id
(可以用redis來實現例如這樣:xxx-rid,全局id+消息id),如果消費過的,就把他記錄到redis中,每次消費前先去讀有沒有該記錄。

2)插入的操作的話,那就沒有就插入,最多有的話就再更新一下。

3)更新操作set的話,重複消費沒什麼影響的,就是set多幾次而已

4)可以從生產者的角度去想,每次發送消息前,先查詢下數據庫是不是已經有記錄了。

發佈了32 篇原創文章 · 獲贊 14 · 訪問量 4491
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章