ActiveMQ RabbitMQ KafKa对比
前言:
ActiveMQ和 RabbitMq 以及Kafka在之前的项目中都有陆续使用过,当然对于三者没有进行过具体的对比,以下摘抄了一些网上关于这三者的对比情况,我自己看过之后感觉还
是可以的,比较清晰的反馈了这三个的具体情况已经使用场景,具体的对比如下:
1)TPS比较:
Kafka最高,RabbitMq 次之, ActiveMq 最差。
2)吞吐量对比:
kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。
rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。
3)在架构模型方面:
RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。
kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中心,消息的消费信息保存的客户端consumer上,consumer根据消费的点,从broker上批量pull数据;无消息确认机制。
4)在可用性方面,
rabbitMQ支持miror的queue,主queue失效,miror queue接管。
kafka的broker支持主备模式。
activeMq也支持主备模式。
5)在集群负载均衡方面,
kafka采用zookeeper对集群中的broker、consumer进行管理,可以注册topic到zookeeper上;通过zookeeper的协调机制,producer保存对应topic的broker信息,可以随机或者轮询发送到broker上;并且producer可以基于语义指定分片,消息发送到broker的某分片上。
rabbitMQ的负载均衡需要单独的loadbalancer进行支持。
综合对比:
ActiveMQ: 历史悠久的开源项目,已经在很多产品中得到应用,实现了JMS1.1规范,可以和spring-jms轻松融合,实现了多种协议,不够轻巧(源代码比RocketMQ多),支持持久化到数据库,对队列数较多的情况支持不好。
RabbitMq:
它比kafka成熟,支持AMQP事务处理,在可靠性上,RabbitMq超过kafka,在性能方面超过ActiveMQ。
Kafka:
Kafka设计的初衷就是处理日志的,不支持AMQP事务处理,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性
Kafka的性能(吞吐量、tps)比RabbitMq要强,如果用来做大数据量的快速处理是比RabbitMq有优势的。
ActiveMQ RabbitMQ KafKa对比相关推荐
- 消息队列ActiveMQ, RabbitMQ, Kafka, MSMQ等对比介绍
ActiveMQ和RabbitMQ的区别? 关于文章没多少内容,请进链接:https://blog.csdn.net/qq_30764991/article/details/80573352, htt ...
- 朱大能求职之旅-为什么使用消息队列?消息队列有什么优缺点?Kafka/Activemq/Rabbitmq/Rocketmq优缺点对比?
1. 面试题 为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka.activemq.rabbitmq.rocketmq都有什么区别以及适合哪些场景? 2. 面试官心理分析 其实面试官主要是想 ...
- kafka rabbitmq优劣对比_Kafka、RabbitMQ、RocketMQ等消息中间件的对比
原文链接:Kafka.RabbitMQ.RocketMQ等消息中间件的对比 消息中间件现在有不少,网上很多文章都对其做过对比,在这我对其做进一步总结与整理. RocketMQ 淘宝内部的交易系统使用了 ...
- 【十一】消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
转载:消息中间件选型分析--从Kafka与RabbitMQ的对比来看全局 一.前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系 ...
- 消息中间件(RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ等)的定义、组成、特点、优缺点、应用场景面试题
大家都参与过网上电商平台的秒杀活动吧,一般的秒杀活动辄几百万的参与人数,而"双十一"的参与人数更是已"亿"为计量单位.那么这些电商平台的系统架构是怎样的,它们是 ...
- Kafka 对比 ActiveMQ
Kafka 是LinkedIn 开发的一个高性能.分布式的消息系统,广泛用于日志收集.流式数据处理.在线和离线消息分发等场景.虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先A ...
- 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
最近有好多朋友都去投岗秋招提前批,面完回来跟我说碰到消息中间件一类的问题就挂了.额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ(ActiveMQ/RabbitMQ/Rocke ...
- 惊了 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
最近有好多朋友都去投岗秋招提前批,面完回来跟我说碰到消息中间件一类的问题就挂了. 附面试思维导图: 额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ( ActiveMQ/Rab ...
- ServiceMix部署自定义开发程序(ActiveMQ和Kafka实现)
上一篇整理了ServiceMix环境的搭建过程,接下来介绍在ServiceMix平台下如何开发程序并部署到Karaf容器内,同时介绍下karaf容器内置的ActiveMQ消息组件的发送和接收,以及目前 ...
最新文章
- 2018/5/1 ----1986年图灵奖PPT
- 多版本opencv 兼容
- eclipse安装Freemaker IDE插件
- UI设计素材干货|日历也要设计,模板都给你们整理好了
- python03_Python中的列表、元组、字典和集合
- R的数据可视化,各种图表,常用统计量计算
- html+css响应式布局
- Spring Boot不指定包路径就可以扫描启动类所在包及其子包下的类是怎么做到的?
- Android系统 miui主题6,miui主题工具-miui主题工具最新版v2.6.2 安卓版_永辉资源网
- ipad文献管理软件_使用ipad看文献,有哪些好用的工具软件?
- LR11中将IE9降级为IE8
- PowerBuilder 2018
- Swagger注解 详解
- TEMPO ESTIMATION近几年文章总结
- 通过Shell命令-监视一个进程或端口,挂掉后自动重启,并自定义日志
- 卡贴机卡贴设置又失效再次折腾
- 阿里巴巴一件代发怎么下单
- 大学计算机基础线下作业,【计算机基础论文】大学计算机基础教学新形式探究(共4665字)...
- 被巨头、快递、新贵分食的跨境电商
- 索罗斯的反身理论和汇率分析