容錯機制需要保證出錯後資訊還會被重新插入佇列,在redis
中需要手動try
catch
處理。在其他訊息佇列中都有提供容錯機制,比如訊息取出變為掛起狀態,一定時間內沒有刪除就會重新插入佇列。
訊息佇列中有延遲的概念,取出後判斷是否在延遲時間內,如果在則重新插入佇列,達到延遲效果。
redis
的推送方式注重快速而不保證推送成功
部分mq
可以做到雖然有延遲,但是保證推送成功。
redis:沒有相應的機制保證訊息的消費,當消費者消費失敗的時候,訊息體丟失,需要手動處理
rabbitmq:具有訊息消費確認,即使消費者消費失敗,也會自動使訊息體返回原佇列,同時可全程持久化,保證訊息體被正確消費
Redis和MQ的區別
redis是乙個高效能的key value資料庫,支援訊息推送功能,可以當做乙個輕量級的佇列伺服器使用。redis只是提供乙個高效能的 原子操作記憶體鍵值隊,具有高速訪問能力,雖然可以做訊息佇列的儲存,但不具備訊息佇列的任何功能和邏輯。redis2.0開始支援發布 訂閱指令,發布者呼叫redis的p...
Kafka與MQ的區別
作為訊息佇列來說,企業中選擇mq的還是多數,因為像rabbit,rocket等mq中介軟體都屬於很成熟的產品,效能一般但可靠性較強,而kafka原本設計的初衷是日誌統計分析,現在基於大資料的背景下也可以做運營資料的分析統計,而redis的主要場景是記憶體資料庫,作為訊息佇列來說可靠性太差,而且速度太...
Kafka與MQ的區別
作為訊息佇列來說,企業中選擇mq的還是多數,因為像rabbit,rocket等mq中介軟體都屬於很成熟的產品,效能一般但可靠性較強,而kafka原本設計的初衷是日誌統計分析,現在基於大資料的背景下也可以做運營資料的分析統計,而redis的主要場景是記憶體資料庫,作為訊息佇列來說可靠性太差,而且速度太...