Skip to content

Apache Iggy 和 RobustMQ 都是用 Rust 编写的 现代消息队列系统,都强调高性能、易扩展和开发者友好。目前Iggy 已经进入Apache基金会,RobustMQ 经常被询问和IGGY 的区别是什么。

注意:RobustMQ 处于开发早期,本文主要从RobustMQ的定位、愿景、产品能力规划来讨论两者的区别。RobustMQ的一些能力还在开发中。本文目标是讲清楚Iggy和RobustMQ的区别,对比基于个人认知的一家之言,存在偏颇,欢迎沟通交流。

总结

  • 定位

    • IGGY 是一个主打高性能和高吞吐的消息流平台,可以被看作是 Kafka 的替代品。准确说它是一个更简洁、现代化的 Kafka 式消息队列系统。它是有自己新的协议和SDK的新的消息队列平台。

    • RobustMQ 是一个主打适配当前主流消息队列协议(Kafka/AMQP/MQTT等)、架构上完全 Serverless 的 ALL in One 消息队列。它的目标是兼容当前主流的协议、SDK、生态,通过架构升级(Rust高性能/安全、存/算/调度分离、插件化存储)来解决当前消息队列产品存在的弹性、成本、能力分散等问题。

  • 技术理念

    • 架构:IGGY 是存算一体的架构,RobustMQ 是存/算/调度分离、分层架构。RobustMQ 的架构弹性更强。
    • 协议和SDK:IGGY 有自己的私有协议,需要开发对应的多语言SDK。RobustMQ 不会涉及私有协议和独立SDK。
    • 存储层: IGGY 是本地Append Log的存储,RobustMQ 是插件化支持存储,允许支持HDFS、S3、MinIO、内存、本地文件存储等多种存储方式。RobustMQ 灵活度更高,弹性更强。
    • 用户接入:用户使用IGGY需要使用IGGY对应的SDK,用户使用RobustMQ 只需要使用开源的Kafka/AMQP/MQTT SDK 即可。用户接入RobustMQ的成本更低。
    • 生态兼容:IGGY 需要搭建新的生态,用户去适应IGGY的生态。RobustMQ 完整适配当前的主流消息队列的生态和工具,用户适应成本几乎为零。

核心设计理念对比

Iggy 的设计理念:

  • 简洁但现代化的 Kafka 替代品
  • 更轻量,更适合嵌入或自托管
  • 避免 ZooKeeper/KRaft 的复杂性
  • 专注在性能和 Rust 安全生态

RobustMQ 的设计理念:

  • 统一多协议、多消息模型的企业消息中枢
  • 一套系统适配 Kafka / MQTT / AMQP 等协议
  • 支持复杂部署场景(云边协同、存算分离)
  • 更像现代化的 “企业 Service Bus”

一览对比表

特性 / 项目Apache IggyRobustMQ
语言实现RustRust
定位Kafka 替代品(现代、轻量)多协议统一消息中枢
协议支持自有协议(轻量级)、TCP、HTTPKafka / AMQP / MQTT 等多协议兼容
SDKIGGY SDKKafka / AMQP / MQTT 开源 SDK
主题与分区支持 Topic/Partition支持 Topic/Partition(细粒度控制)
存储层本地文件存储(append log)插拔式(支持本地文件存储、S3、MinIO、内存等)
架构设计Leader-Follower,面向流式处理分层架构(存储/计算/调度分离,灵活扩展)
分布式能力实验性(集群化初步支持)完整的分布式能力,支持动态扩容、主从同步
性能优化内存映射文件,Rust 优化内存映射文件,Rust 优化
消息模型类 Kafka(主题 + offset)统一消息模型(支持 Pub/Sub、队列、延时等)
使用场景高吞吐日志流处理,Kafka 替代多源异构系统集成,边缘计算,IoT,微服务
功能主打吞吐支持广播消息、私信消息、优先级消息等等高级消息能力
生态IGGY 生态中的 CLI、HTTP、SDK等兼容Kafka / AMQP / MQTT的所有生态
成熟度中(活跃开发中)中(活跃开发中)
用户使用成本高(业务需要切换IGGY生态)低(兼容主流消息协议,业务不需要改动)
开源协议Apache 2.0Apache 2.0