0
点赞
收藏
分享

微信扫一扫

RabbitMQ与Redis的区别


简介

        本文介绍RabbitMQ与Redis的区别。

对比

RabbitMQ

Redis

相近项


高可用


集群采用磁盘、内存节点,任意单点故障都不会影响整个队列的操作。

集群模式可实现高可用。

Redis占优势的项

出入队性能

稍弱。

强。

RabbitMQ占优势的项

可靠性


能保证可靠消费与可靠发布。

具有消息消费确认。即使消费者消费失败,也会自动使消息体返回原队列,同时可全程持久化,保证消息体被正确消费。

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



不能保证可靠消费,不能保证可靠发布。

没有相应的机制保证消息的消费,当消费者消费失败的时候,消息体丢失,需要手动处理。发布也是如此。


消费负载均衡


支持负载均衡。

Rabbitmq队列可以被多个消费者同时监控消费,但是每一条消息只能被消费一次,由于Rabbitmq的消费确认机制,因此它能够根据消费者的消费能力而调整它的负载



不支持负载均衡。

Redis发布订阅模式,一个队列可以被多个消费者同时订阅,当有消息到达时,会将该消息依次发送给每个订阅者,她是一种消息的广播形式,Redis本身不做消费者的负载均衡,因此消费效率存在瓶颈。


持久化


灵活度大。

每条消息都可以选择性持久化,持久化粒度更小,更灵活。



灵活度小。

Redis的持久化是针对于整个redis缓存的内容,它有RDB和AOF两种持久化方式。


队列监控


支持后台监控。

Rabbitmq实现了后台监控平台,可以在该平台上看到所有创建的队列的详细情况,良好的后台管理平台可以方面我们更好的使用。


没有监控平台。

流量控制


支持流量控制。

服务器过载的情况,对生产者速率会进行限制,保证服务可靠性。



不支持流量控制。

需自行实现。


出入队性能对比

RabbitMQ与Redis的区别_负载均衡


举报

相关推荐

0 条评论