RabbitMQ之(延遲佇列)

2021-10-08 22:28:38 字數 947 閱讀 4298

什麼是延時佇列,延時佇列應用於什麼場景

延時佇列顧名思義,即放置在該佇列裡面的訊息是不需要立即消費的,而是等待一段時間之後取出消費。

那麼,為什麼需要延遲消費呢?我們來看以下的場景

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.新建立的店鋪,如果在十天內都沒有上傳過商品,則自動...