【RocketMQ精通之路】对比RocketMQ和ActiveMQ和Kafka

来自官网:

RocketMQ · 官方网站 | RocketMQ

|------------|--------------------------------------------|-------------------------------------------|------------------------------------|
| 产品 | ActiveMQ | Kafka | RocketMQ |
| 客户端SDK | Java, .NET, C++ etc. | Java, Scala etc. | Java, C++, Go |
| 特点 | Push模式,支持 OpenWire, STOMP, AMQP, MQTT, JMS | Pull模式,支持TCP | Pull 模式, 支持TCP, JMS, OpenMessaging |
| 顺序消息 | 独占消费者或独占队列可以确保排序 | 确保消息在分区内的顺序 | 严格确保消息的顺序,并且可以优雅地扩展 |
| 定时消息 | 支持 | 不支持 | 支持 |
| 批量消息 | 不支持 | 支持,与异步生产者 | 支持,具有同步模式以避免消息丢失 |
| 广播消息 | 支持 | 不支持 | 支持 |
| 消息过滤器 | 支持 | 支持,可以使用Kafka Streams过滤消息 | 支持基于SQL92的属性筛选器表达式 |
| 服务器触发的重新分发 | 不支持 | 不支持 | 支持 |
| 消息存储 | 使用JDBC和高性能日志(如levelDB、kahaDB)支持非常快速的持久性 | 高性能文件存储 | 高性能、低延迟的文件存储 |
| 消息追溯 | 支持 | 支持的偏移量指示 | 支持的时间戳和偏移量二表示 |
| 消息优先级 | 支持 | 不支持 | 不支持 |
| 高可用性和故障保护 | 支持,取决于存储,如果使用levelDB,则需要ZooKeeper服务器 | 支持,需要ZooKeeper服务器 | 支持,主从式,无需其他套件 |
| 消息跟踪 | 不支持 | 不支持 | 支持 |
| 配置 | 默认配置为低级别,用户需要优化配置参数 | Kafka使用键值对格式进行配置。这些值可以从文件中提供,也可以通过编程方式提供。 | 开箱即用,用户只需注意几个配置 |
| 管理和操作工具 | 支持 | 支持,使用终端命令暴露核心指标 | 支持丰富的web和终端命令,以公开核心指标 |

相关推荐
清心歌4 小时前
Seata AT 模式简单学习及总结
分布式·seata
rebibabo8 小时前
Java基础(番外) | Kafka 入门:分区、副本与消费者组原理
java·分布式·kafka·学习笔记·副本·分区·异步日志
swg32132110 小时前
Kafka基于ZK和KRaft的设计原理与差异
分布式·kafka
gb448oww510 小时前
Redis分布式锁进阶第三十五篇
数据库·redis·分布式
2601_9624408412 小时前
计算机毕业设计之jsp教室管理系统
java·开发语言·笔记·分布式·算法·课程设计·推荐算法
无小道17 小时前
Redis——主从复制
数据库·redis·分布式·主从
阿里云云原生5 天前
数据链路再精简:Kafka 如何做到“零 ETL”一键写入 Apache Iceberg?
kafka
阿里云云原生12 天前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka
风吹夏回18 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回18 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby