mq和redis

来源:互联网 发布:南京市软件协会地址 编辑:程序博客网 时间:2024/05/29 16:46

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四个不同大小的数据。

注:此数据来源于互联网,部分数据有误,已修正


应用场景分析

Redis:轻量级,高并发,延迟敏感
即时数据分析、秒杀计数器、缓存等

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

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 江苏司法行政网 2016年司法考试 上海司法行政网 天津司法行政网 中国司法考试 广东华曦司法鉴定所 司法考试网上辅导班 浙江大学司法鉴定中心 司法鉴定收费标准 网络司法拍卖平台 北京司法鉴定 司法鉴定价格 司法鉴定所收费标准 司法鉴定赔偿标准 天津司法鉴定中心 司法鉴定中心网站 司法鉴定需要多少钱 重庆司法鉴定中心 做司法鉴定多少钱 浙江迪安司法鉴定中心 广东司法职业学校 辽宁大学司法鉴定中心 司法鉴定标准 网络司法鉴定 司法伤残鉴定时间 西南司法鉴定中心 迪安司法鉴定中心 北京司法亲子鉴定机构 伤残司法鉴定 北京司法鉴定业协会 四川司法鉴定中心 司法鉴定中心电话 司法亲子鉴定价格 广东医学院司法鉴定中心 司法部司法鉴定研究所 北京中天司法鉴定中心 司法职业学校 北京 司法鉴定中心 北京司法鉴定网 辽宁司法鉴定中心 司法部司法鉴定中心