什麼是延時佇列,延時佇列應用於什麼場景
延時佇列顧名思義,即放置在該佇列裡面的訊息是不需要立即消費的,而是等待一段時間之後取出消費。
那麼,為什麼需要延遲消費呢?我們來看以下的場景
rabbitmq的queue可以配置x-dead-letter-exchange和x-dead-letter-routing-key(可選)兩個引數,如果佇列內出現了dead letter,則按照這兩個引數重新路由**到指定的佇列。
x-dead-letter-exchange:出現dead letter之後將dead letter重新傳送到指定exchange
x-dead-letter-routing-key:出現dead letter之後將dead letter重新按照指定的routing-key傳送
("/senddelay"
)public
void
senddelay()
);}
// 建立乙個立即消費佇列
@bean
public queue immediatequeue()
// 建立乙個延時佇列
@bean
public queue delayqueue()
@bean
public directexchange immediateexchange()
@bean
public directexchange deadletterexchange()
@bean
//把立即消費的佇列和立即消費的exchange繫結在一起
public binding immediatebinding()
@bean
//把延遲消費的佇列和延遲消費的exchange繫結在一起
public binding delaybinding()
Rabbitmq延遲佇列
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
RabbitMQ 延遲佇列
rabbitmq實現延遲佇列一 在佇列上設定ttl publish delaysync.exchange delay.5m.queue 延遲佇列 delay.exchange test.queue 正常佇列 consumer 延遲佇列start mapmap new hashmap map.put ...
rabbitmq 延遲佇列
延時佇列 佇列內部是有序的,最重要的特性就體現在它的延時屬性上,延時佇列中的元素是希望 在指定時間到了以後或之前取出和處理,簡單來說,延時佇列就是用來存放需要在指定時間被處理的 元素的佇列。延遲佇列使用場景 1.訂單在十分鐘之內未支付則自動取消 2.新建立的店鋪,如果在十天內都沒有上傳過商品,則自動...