kafka、activemq、rabbitmq、rocketmq都有什么区别?
mq区别对比介绍
- ActiveMQ 的社区算是比较成熟,但是较目前来说,ActiveMQ 的性能比较差,而且版本迭代很慢,不推荐使用。
- RabbitMQ 在吞吐量方面虽然稍逊于 Kafka 和 RocketMQ ,但是由于它基于 erlang 开发,所以并发能力很强,性能极其好,延时很低,达到微秒级。但是也因为 RabbitMQ 基于 erlang 开发,所以国内很少有公司有实力做erlang源码级别的研究和定制。如果业务场景对并发量要求不是太高(十万级、百万级),那这四种消息队列中,RabbitMQ 一定是你的首选。如果是大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范。
- RocketMQ 阿里出品,Java 系开源项目,源代码我们可以直接阅读,然后可以定制自己公司的MQ,并且 RocketMQ 有阿里巴巴的实际业务场景的实战考验。RocketMQ 社区活跃度相对较为一般,不过也还可以,文档相对来说简单一些,然后接口这块不是按照标准 JMS 规范走的有些系统要迁移需要修改大量代码。还有就是阿里出台的技术,你得做好这个技术万一被抛弃,社区黄掉的风险,那如果你们公司有技术实力我觉得用RocketMQ 挺好的
- kafka 的特点其实很明显,就是仅仅提供较少的核心功能,但是提供超高的吞吐量,ms 级的延迟,极高的可用性以及可靠性,而且分布式可以任意扩展。同时 kafka 最好是支撑较少的 topic 数量即可,保证其超高吞吐量。kafka 唯一的一点劣势是有可能消息重复消费,那么对数据准确性会造成极其轻微的影响,在大数据领域中以及日志采集中,这点轻微影响可以忽略这个特性天然适合大数据实时计算以及日志收集。
推荐浅显易懂的讲解:
- 消息队列基础
- 面试官问你什么是消息队列?把这篇甩给他!
- activemq、rabbitmq、kafka原理和比较
- 优劣对比:你所理解的Kafka与RabbitMQ区别是什么呢?
- 对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 各自的优缺点
- RabbitMq、ActiveMq、ZeroMq、kafka对比
- 阿里 RocketMQ 优势对比
...全文
相关推荐
每日一题:消息队列面试常问题目.docx
为什么使用消息队列?2. 消息队列有什么优点和缺点?3. Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
(表格详细对比)Kafka、ActiveMQ、RabbitMQ、RocketMQ 之间有哪些区别和优缺点
对于需要处理高吞吐量数据的互联网公司,Kafka可能是更好的选择;而对于企业内部应用,ActiveMQ可能更加合适。RabbitMQ和RocketMQ则适用于需要高可靠性和一定程度的并发处理能力的场景。
RocketMQ精选面试题50道(含答案解析)
- Kafka:Scala开发,专为日志处理设计,性能高,但不适合在线业务,因为非高峰期时延较高。 - ActiveMQ:Java开发,简单稳定,适用于小型系统,但在性能上不如前两者。
使用MQ消息队列的优缺点详解
常见的 MQ 区别1. ActiveMQ:单机吞吐量万级,吞吐量比 RocketMQ 和 Kafka 要低了一个数量级。
Java 工程师进阶知识完全扫盲
三、消息队列的种类和比较面试官:Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?候选人:我们就用过 ActiveMQ,别的没用过。。。区别,也不太清楚。。


