https://github.com/robustmq/robustmq
New generation of cloud-native and AI-native messaging infrastructure.
https://github.com/robustmq/robustmq
activemq amqp data http infra kafka message message-queue middleware mq mqtt mqtt-broker queue rabbitmq robustmq rocketmq rust serverless storage streaming
Last synced: 23 days ago
JSON representation
New generation of cloud-native and AI-native messaging infrastructure.
- Host: GitHub
- URL: https://github.com/robustmq/robustmq
- Owner: robustmq
- License: apache-2.0
- Created: 2023-08-03T05:47:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-12T01:52:58.000Z (26 days ago)
- Last Synced: 2025-09-12T03:59:59.982Z (26 days ago)
- Topics: activemq, amqp, data, http, infra, kafka, message, message-queue, middleware, mq, mqtt, mqtt-broker, queue, rabbitmq, robustmq, rocketmq, rust, serverless, storage, streaming
- Language: Rust
- Homepage: http://robustmq.com/
- Size: 44.3 MB
- Stars: 1,126
- Watchers: 30
- Forks: 174
- Open Issues: 69
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- trackawesomelist - RobustMQ (⭐69) - Next generation cloud-native converged message queue. (Recently Updated / [Sep 16, 2024](/content/2024/09/16/README.md))
- awesome-rust - RobustMQ - Next generation cloud-native converged message queue. (Applications / Message Queue)
- fucking-awesome-rust - RobustMQ - Next generation cloud-native converged message queue. (Applications / Message Queue)
README
![]()
New generation of cloud-native and AI-native messaging infrastructure
Introduction •
Features •
Architecture •
Quick Start •
Build Script •
Documentation •
Contributing •
Community---
> **⚠️ Development Status**
> This project is currently in its early preview stage and is undergoing rapid iteration and testing. A stable release is expected in the second half of 2025. We are actively working towards making RobustMQ production-ready and aim to become a top-level Apache project in the message queue ecosystem.## 🚀 Introduction
RobustMQ is a next-generation, high-performance, multi-protocol message queue built in Rust. Our vision is to create a unified messaging infrastructure tailored for modern cloud-native and AI systems.
## ✨ Features
- **🚀 High Performance**: Built with Rust, ensuring memory safety, zero-cost abstractions, and blazing-fast performance
- **🏗️ Distributed Architecture**: Separation of compute, storage, and scheduling for optimal scalability and resource utilization
- **🔌 Multi-Protocol Support**: Native support for MQTT (3.x/4.x/5.x), AMQP, Kafka, and RocketMQ protocols
- **💾 Pluggable Storage**: Modular storage layer supporting local files, S3, HDFS, and other storage backends
- **☁️ Cloud-Native**: Kubernetes-ready with auto-scaling, service discovery, and observability built-in
- **🏢 Multi-Tenancy**: Support for virtual clusters within a single physical deployment
- **🔐 Security First**: Built-in authentication, authorization, and encryption support
- **📊 Observability**: Comprehensive metrics, tracing, and logging with Prometheus and OpenTelemetry integration
- **🎯 User-Friendly**: Simple deployment, intuitive management console, and extensive documentation## 🏗️ Architecture

### Core Components
- **Broker Server**: High-performance message handling with multi-protocol support
- **Meta Service**: Metadata management and cluster coordination using Raft consensus
- **Journal Server**: Persistent storage layer with pluggable backends
- **Web Console**: Management interface for monitoring and administration### Key Design Principles
- **One Binary, One Process**: Simplified deployment and operations
- **Protocol Isolation**: Different protocols use dedicated ports (MQTT: 1883/1884/8083/8084, Kafka: 9092, gRPC: 1228)
- **Fault Tolerance**: Built-in replication and automatic failover
- **Horizontal Scaling**: Add capacity by simply adding more nodes## 🚀 Quick Start
### Prerequisites
- **Rust**: 1.70 or later
- **Operating System**: Linux, macOS, or Windows
- **Memory**: Minimum 2GB RAM
- **Storage**: At least 1GB available disk space### Installation Options
#### Option 1: Build from Source
```bash
# Clone the repository
git clone https://github.com/robustmq/robustmq.git
cd robustmq# Build and run
cargo run --package cmd --bin broker-server
```#### Option 2: Pre-built Binaries
**Method 1: Manual Download**
Visit the [releases page](https://github.com/robustmq/robustmq/releases) and download the appropriate package for your platform:
```bash
# Example for Linux x86_64 (replace with your platform)
wget https://github.com/robustmq/robustmq/releases/latest/download/robustmq-v0.1.30-linux-amd64.tar.gz# Extract the package
tar -xzf robustmq-v0.1.30-linux-amd64.tar.gz
cd robustmq-v0.1.30-linux-amd64# Run the server
./bin/robust-server start
```**Available platforms**: `linux-amd64`, `linux-arm64`, `darwin-amd64`, `darwin-arm64`, `windows-amd64`
**Method 2: Automated Install Script** (Recommended)
```bash
# Download and install automatically
curl -fsSL https://raw.githubusercontent.com/robustmq/robustmq/main/scripts/install.sh | bash# Or download the script first to review it
wget https://raw.githubusercontent.com/robustmq/robustmq/main/scripts/install.sh
chmod +x install.sh
./install.sh --help # See available options
```#### Option 3: Docker (Coming Soon)
```bash
docker run -p 1883:1883 -p 9092:9092 robustmq/robustmq:latest
```### Verify Installation
Once RobustMQ is running, you should see output similar to:

You can verify the installation by connecting with any MQTT client to `localhost:1883` or using the web console.
## 🔧 Build Script
RobustMQ provides a powerful build script (`scripts/build.sh`) for creating distribution packages:
### Quick Usage
```bash
# Build for current platform (default: server component only)
./scripts/build.sh# Build for specific platform
./scripts/build.sh --platform linux-amd64# Build for all platforms
./scripts/build.sh --platform all# Build specific component
./scripts/build.sh --component operator# Build with custom version
./scripts/build.sh --version v1.0.0# Show all options
./scripts/build.sh --help
```### Available Options
| Option | Description | Default |
|--------|-------------|---------|
| `-p, --platform` | Target platform | auto-detect |
| `-c, --component` | Component to build | server |
| `-v, --version` | Build version | git describe |
| `-t, --build-type` | Build type (release/debug) | release |
| `-o, --output` | Output directory | build/ |
| `--all-platforms` | Build for all supported platforms | - |### Supported Platforms
- **Linux**: `linux-amd64`, `linux-arm64`, `linux-386`, `linux-armv7`
- **macOS**: `darwin-amd64`, `darwin-arm64`
- **Windows**: `windows-amd64`, `windows-386`
- **FreeBSD**: `freebsd-amd64`### Output
Built packages are saved to `build/` directory with format:
- **Server**: `robustmq-{version}-{platform}.tar.gz`
- **Operator**: `robustmq-operator-{version}-{platform}.tar.gz`## 📚 Documentation
- **📖 [Official Documentation](https://robustmq.com/)** - Comprehensive guides and API references
- **🚀 [Quick Start Guide](https://robustmq.com/QuickGuide/Overview.html)** - Get up and running in minutes
- **🔧 [MQTT Documentation](https://robustmq.com/RobustMQ-MQTT/Overview.html)** - MQTT-specific features and configuration
- **💻 [Command Reference](https://robustmq.com/RobustMQ-Command/Mqtt-Broker.html)** - CLI commands and usage
- **🎛️ [Web Console](https://github.com/robustmq/robustmq-copilot)** - Management interface
## 🤝 Contributing
We welcome contributions from the community! RobustMQ is an open-source project, and we're excited to collaborate with developers interested in Rust, distributed systems, and message queues.
### How to Contribute
1. **📋 Read our [Contribution Guide](https://robustmq.com/ContributionGuide/GitHub-Contribution-Guide.html)**
2. **🔍 Check [Good First Issues](https://github.com/robustmq/robustmq/labels/good%20first%20issue)**
3. **🍴 Fork the repository**
4. **🌿 Create a feature branch**
5. **✅ Make your changes with tests**
6. **📤 Submit a pull request**### Development Setup
```bash
# Clone and setup
git clone https://github.com/robustmq/robustmq.git
cd robustmq# Run tests
cargo test# Check code style
cargo clippy
cargo fmt
```## 🌐 Community
Join our growing community of developers, users, and contributors:
### 💬 Discussion & Support
- **🎮 [Discord Server](https://discord.gg/sygeGRh5)** - Real-time chat, questions, and collaboration
- **🐛 [GitHub Issues](https://github.com/robustmq/robustmq/issues)** - Bug reports and feature requests
- **💡 [GitHub Discussions](https://github.com/robustmq/robustmq/discussions)** - General discussions and ideas### 🇨🇳 Chinese Community
- **微信群**: Join our WeChat group for Chinese-speaking users
![]()
- **个人微信**: If the group QR code has expired, add the developer's personal WeChat:
![]()
## 📄 License
RobustMQ is licensed under the [Apache License 2.0](LICENSE), which strikes a balance between open collaboration and allowing you to use the software in your projects, whether open source or proprietary.
---