RabbitMQ及Redis队列对比

本文只针对RabbitMQ与Redis做行应用时之状况进行比
切实以什么方式贯彻,还需要在系统的实际需要

简单易行介绍

 

RabbitMQ

RabbitMQ是贯彻AMQP(高级消息队列协议)的消息中间件的一致栽,最初起源于金融体系,用于在分布式系统中储存转发信息,在易用性、扩展性、高可用性等地方表现不俗。消息中间件主要用以组件之间的解耦,消息之发送者无需清楚消息使用者的有,反之亦然。

Redis

是一个Key-Value的NoSQL数据库,开发保护好欢,虽然它是一个Key-Value数据库存储系统,但她自身支持MQ功能,所以完全可看做一个轻量级的班服务来运。


具体对比

 

保险消费

Redis:没有相应的机制确保信息之消费,当顾客花失败的时刻,消息体丢失,需要手动处理
RabbitMQ:具有信息消费肯定,即使消费者花失败,也会见活动使消息体返回原列,同时可全程持久化,保证消息体被科学消费

保险发布

Reids:不提供,需自行实现
RabbitMQ:具有发表确认功能,保证信息于发表暨服务器

高可用

Redis:采用主从模式,读写分离,但是故障转移还尚未怪健全的官方解决方案
RabbitMQ:集群采用磁盘、内存节点,任意单点故障都非会见影响整队列的操作

持久化

Redis:将整Redis实例持久化到磁盘
RabbitMQ:队列,消息,都可选是否持久化

顾客负载均衡

Redis:不提供,需自行实现
RabbitMQ:根据消费者情况,进行信息之均匀分发

队监控

Redis:不提供,需自行实现
RabbitMQ:后台可监控有队列的装有消息,(内存,磁盘,消费者,生产者,速率等)

流量控制

Redis:不提供,需自行实现
RabbitMQ:服务器过载之情状,对生产者速率会进行限制,保证服务可靠性

出入队性

于RabbitMQ和Redis的入队和出队操作,各执行100万不行,每10万不行记录一致不善实施时。
测试数据分为128Bytes、512Bytes、1K及10K季单不等尺寸的多少。
图片 1
注:此数额来自互联网,部分数据来误,已更正


利用场景分析

Redis:轻量级,高并发,延迟敏感
立刻数码解析、秒杀计数器、缓存等

RabbitMQ:重量级,高并发,异步
批量数据异步处理、并行任务串行化,高负载任务的载荷均衡等

网站地图xml地图