Redis和RabbitMQ做消息队列的区别

一、RabbitMQ

是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然

二、Redis

是一个key-value的NoSQL数据库,redis的设计是用来做缓存的,他是一个内存数据库,不过因为其某些特性适合用来充当队列(list),多被用于做简单的mq,有阻塞式的API可以做消息队列。

redis可以实现主从同步,负载均衡的数据库

三、具体区别

Redis RabbitMq
可靠消费 没有相应的机制保证消息的消费,当消费者消费失败的时候,消息体丢失,需要手动处理 具有消息消费确认,即使消费者消费失败,也会自动使消息体返回原队列,同时可全程持久化,保证消息体被正确消费
可靠发布

不支持

需自行实现

Redis的消息队列,如果在从队列pop出去的时候,worker处理失败的话,数据不会回到队列中,需要从业务中手动把失败的处理数据push到队列中;

具有发布确认功能,保证消息被发布到服务器

高可用<
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值