Skip to content

Overview

This article aims to clarify the differences between RobustMQ and current mainstream message queues such as Kafka, RabbitMQ, and RocketMQ.

Note: RobustMQ is still in early development. This article focuses on its positioning, vision, and planned product capabilities to highlight the differences. Some features of RobustMQ are still under development. The goal is to provide a clear comparison between RobustMQ and existing MQ systems. The content reflects personal understanding and may contain bias—feedback and discussion are welcome.

In One Sentence

RobustMQ aims to be a modern message queue platform implemented in Rust, supporting Kafka/AMQP/MQTT protocols with a highly elastic architecture. Its goal is to replace and unify the functionality and ecosystems of multiple traditional MQ systems.

Core Differences

Feature / SystemRobustMQKafkaRabbitMQRocketMQ
Protocol Support✅ Kafka / AMQP / MQTT / Redis❌ Kafka only✅ AMQP, MQTT via plugins❌ Custom protocol, partial Kafka SDK
Message Models✅ Pub/Sub, queue, delay, broadcast, P2P, priorityTopic + offset (log-based)Pub/Sub, work queuesTopic, delay, transaction, ordered
Architecture✅ Decoupled storage/compute/scheduling, serverless-friendlyMonolithic (Zookeeper/KRaft-based)Clustered, mirrored queuesBroker + NameServer
Storage Support✅ Pluggable (Redis, local, S3, MinIO, memory)Disk-based logIn-memory + disk (Mnesia + queues)Custom CommitLog + internal buffering
Language ImplementationRust (high performance + memory safety)Java / ScalaErlangJava
Ease of Deployment✅ Works on single node / containers / serverlessComplex (Zookeeper/KRaft required)Easy but plugin-heavyRequires NameServer + Broker config
Ecosystem Compatibility✅ Native support for Kafka / MQTT / AMQP toolingRich Kafka ecosystemRich AMQP ecosystemLimited compatibility with Kafka
Multi-tenancy / Protocol Mix✅ Natively supported❌ Requires separate clusters❌ Plugin-based isolation❌ No multi-protocol support

Key Advantages

Unified Multi-Protocol Access

  • Kafka in, MQTT out; AMQP in, Kafka out — all combinations supported.
  • No need for multiple MQ systems or protocol bridges.

Unified Support for Multiple Messaging Models

  • Built-in support for delayed messages, broadcast, priority queues, dead-letter queues, and peer-to-peer messaging.
  • No plugins or external systems required.

Modern, Cloud-Native Architecture

  • Fully decoupled storage, compute, and scheduling layers.
  • Stateless scheduler service supports serverless environments.
  • Pluggable storage options (S3, MinIO, Redis, etc.).

Developer-Friendly

  • No need to learn new protocols — just use existing Kafka / MQTT / AMQP SDKs.
  • Unified REST API, web console, and CLI tools available.

Easy Migration, Low Integration Cost

  • Seamlessly integrates with existing Kafka / RabbitMQ / MQTT clients — no code changes needed.
  • Supports gradual migration from legacy MQ systems.

Summary

Comparison AreaKafka / RabbitMQ / RocketMQRobustMQ Advantages
Protocol SupportSingle protocol✅ Unified multi-protocol
Message ModelsPartial, plugin-dependent✅ Full native model support
Developer IntegrationSDKs or plugins required✅ Use existing open-source SDKs directly
Operational ComplexityComplex (ZK, NameServer, mirroring)✅ Lightweight, modular deployment
Migration CostHigh (client code rewrites needed)✅ Low (supports native Kafka/MQTT/AMQP SDKs)