【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和终端命令,以公开核心指标 |

相关推荐
小坏讲微服务18 分钟前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
方圆想当图灵1 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(下)
分布式·后端·github
方圆想当图灵1 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(上)
分布式·后端·github
Slow菜鸟2 小时前
Java后端常用技术选型 |(四)微服务篇
java·分布式
闲人编程3 小时前
Python与大数据:使用PySpark处理海量数据
大数据·开发语言·分布式·python·spark·codecapsule·大规模
一瓢一瓢的饮 alanchan3 小时前
Flink原理与实战(java版)#第2章 Flink的入门(第二节Flink简介)
java·大数据·flink·kafka·实时计算·离线计算·流批一体化计算
尘世壹俗人4 小时前
分离Hadoop客户端单独使用
大数据·hadoop·分布式
yzp-5 小时前
Zookeeper 笔记
java·分布式·zookeeper
大G的笔记本5 小时前
常见且高频的 ZooKeeper 面试题
分布式·zookeeper·云原生
wddblog7 小时前
分布式环境下的一致性与幂等性
分布式