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

相关推荐
爱吃提升9 小时前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
ZENERGY-众壹12 小时前
跨品牌逆变器升级:华为锦浪德业 API 对接的 7 个坑
分布式·华为·数据归一化·光伏运维·逆变器api
薛定谔的猫198216 小时前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流16 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题 第194题】【08_Kafka篇】第10题:简述 Kafka 的 Rebalance 机制?
java·kafka·消费者组·rebalance·分布式消息队列
Database_Cool_1 天前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
阿里云云原生1 天前
会话即 Topic:RocketMQ LiteTopic 如何支撑 AI Agent 实现分钟级异步协作与精细化限流?
rocketmq
肥胖小羊2 天前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
AI人工智能+电脑小能手2 天前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列
AI人工智能+电脑小能手2 天前
【大白话说Java面试题 第190题】【08_Kafka篇】第6题:消息队列有什么作用?
java·kafka·消息队列·系统设计·分布式架构