當前位置:編程學習大全網 - 網站源碼 - RabbitMQ實現延遲消費(延遲隊列)

RabbitMQ實現延遲消費(延遲隊列)

首先,向pom添加依賴關系。

然後配置yml文件。

創建業務隊列和死信隊列

消費者正在使用死信隊列中的消息。

啟動服務後,您可以看到創建的交換機和隊列。

消息在到期後從prod_queue_pay隊列轉發到dl-queue隊列。很好地實現了消息延遲消耗。但是我們會發現壹個問題。通過設置隊列屬性的過期時間,如果我現在有不同的場景,比如5s後延遲消費,10s,15s,我需要創建三個隊列。每次都有來自不同時間段的需求,我需要創建壹個隊列,這肯定是不行的。

快速入口:/p /p/78354a3e35d0

發送消息時,通過在報頭中添加“x-delay”參數來控制消息的延遲時間。

啟動服務並登錄RabbitMQ管理界面。您可以看到交換機和隊列已經成功創建。

這種類型的郵件支持延遲傳遞機制。接收到消息後,並不立即投遞到目標隊列,而是存儲在mnesia(壹個分布式數據系統)表中檢測消息延遲時間,如達到可投遞時間,通過標記為x-delayed-type類型的交換機類型投遞到目標隊列。這些判斷和操作導致交換效率較低,如果不需要就不要使用插件式的延遲隊列。

  • 上一篇:如何在windows下安裝python
  • 下一篇:元宵節紅包號碼的意義
  • copyright 2024編程學習大全網