个人技术分享

来自官网:

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