Kafka Kafka延遲佇列如何實現

2021-10-01 03:20:38 字數 317 閱讀 6963

什麼是延遲佇列?

延遲佇列儲存的是對應的延遲訊息,所謂「延遲訊息」是指當訊息被傳送以後,並不想讓消費者立刻拿到訊息,而是等待特定時間後,消費者才能拿到這個訊息進行消費。

基於訊息的延遲:指為每條訊息設定不同的延遲時間,那麼每當佇列中有新訊息進入的時候就會重新根據延遲時間排序,當然這也會對效能造成極大的影響。

基於佇列的延遲: 設定不同延遲級別的佇列,比如5s、10s、30s、1min、5mins、10mins等,每個佇列中訊息的延遲時間都是相同的,這樣免去了延遲排序所要承受的效能之苦,通過一定的掃瞄策略(比如定時)即可投遞超時的訊息。

繼續跟著大佬學習一波:

Rabbitmq延遲佇列

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

延遲佇列 redis

三 缺點 總結延遲佇列的實現方式有多種,這裡用redis 的zset 來實現 使用 zset 思路 我們給每個value設定score 過期時間的時間戳 例如 當前時間戳是 1609154995707 60秒後過期,則可以設定score 1609154995707 60 然後倒序排列,每次取出一批過...

RabbitMQ 延遲佇列

rabbitmq實現延遲佇列一 在佇列上設定ttl publish delaysync.exchange delay.5m.queue 延遲佇列 delay.exchange test.queue 正常佇列 consumer 延遲佇列start mapmap new hashmap map.put ...