點擊上方“JavaEdge”,關注公眾號
設為“星標”,好文章不錯過!
RabbitMQ本身沒有延時佇列功能,無法直接指定一個佇列型別為延時佇列,然后去延時處理,有兩種實作方案:插件和功能搭配,
這里只介紹其二,可以將TTL+DLX相結合,就能組成一個延時佇列,
案例
下完訂單后20min未付款,就關閉該訂單,如果使用RabbitMQ,就需要結合TTL+DLX,
解決方案
先把訂單訊息設定好15分鐘TTL,到點過期后佇列將訊息轉發給DLX,再將訊息分發給我們配置的所系結的佇列,再定義消費者去消費這個佇列中的訊息,就做到了延時十五分鐘消費,
往期推薦
硬核干貨:HTTP超時、重復請求必見坑點及解決方案
給大忙人們看的Java NIO極簡教程
阿里P8架構師面經集之“策略模式”
面試阿里被P8質問:ConcurrentHashMap真的執行緒安全嗎?
目前交流群已有 800+人,旨在促進技術交流,可關注公眾號添加筆者微信邀請進群
喜歡文章,點個“在看、點贊、分享”素質三連支持一下~
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/221783.html
標籤:其他
