rocketmq-vs-activemq-vs-kafka

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