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来实现

参考

相关文章
相关标签/搜索