redis消息隊列

redis系列html

本文主要簡述redis做爲消息隊列的利弊和場景。分佈式

消息中間件要素

消息模型

  • 傳送模型(發佈訂閱or點對點)
    是基於topic的發佈訂閱仍是點對點模型.net

  • 接收模型(推or拉)
    消息是由生產者推仍是由消費者拉code

消息投遞可靠性

  • at-most-once(消息丟失)
    消息被投遞0或者1次,消息可能被丟失htm

  • at-least-once(消息重複)
    消息可能被投遞屢次,直到收到ack,會形成消息重複。像rabbitmq開啓消息持久化及ack機制,能夠保證此投遞策略,確保消息投遞成功,但可能形成消息重複。中間件

  • exactly-once(消息僅且投遞一次)
    消息經過事務等機制保證對方能成功接收,並且不會重複接收

消息持久化

消費者是否能夠接收離線時的消息

消息優先級

消息是否支持優先級

消息回溯

消息是否能夠重複消費

redis作消息隊列

傳送模型 接收模型 投遞模型 持久化 優先級 回溯
發佈訂閱 at-most-once 須要本身支持

點對點模式須要本身經過list的lpush和brpop來模擬實現。
優先級隊列能夠用zset來實現

參考

相關文章
相關標籤/搜索