robustmq

robustmq

New generation of cloud-native and AI-native messaging infrastructure.

Stars: 1120

Visit
 screenshot

RobustMQ is a next-generation, high-performance, multi-protocol message queue built in Rust. It aims to create a unified messaging infrastructure tailored for modern cloud-native and AI systems. With features like high performance, distributed architecture, multi-protocol support, pluggable storage, cloud-native readiness, multi-tenancy, security features, observability, and user-friendliness, RobustMQ is designed to be production-ready and become a top-level Apache project in the message queue ecosystem by the second half of 2025.

README:

RobustMQ Logo

Ask DeepWiki Latest Release License GitHub issues GitHub stars Coverage Build Status Rust Version

New generation of cloud-native and AI-native messaging infrastructure

IntroductionFeaturesArchitectureQuick StartBuild ScriptDocumentationContributingCommunity


⚠️ 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

RobustMQ 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

# 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 and download the appropriate package for your platform:

# 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)

# 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)

docker run -p 1883:1883 -p 9092:9092 robustmq/robustmq:latest

Verify Installation

Once RobustMQ is running, you should see output similar to:

Console Start

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

# 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

Web UI

🤝 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
  2. 🔍 Check Good First Issues
  3. 🍴 Fork the repository
  4. 🌿 Create a feature branch
  5. ✅ Make your changes with tests
  6. 📤 Submit a pull request

Development Setup

# 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

🇨🇳 Chinese Community

  • 微信群: Join our WeChat group for Chinese-speaking users

    WeChat Group QR Code
  • 个人微信: If the group QR code has expired, add the developer's personal WeChat:

    Personal WeChat QR Code

📄 License

RobustMQ is licensed under the Apache License 2.0, which strikes a balance between open collaboration and allowing you to use the software in your projects, whether open source or proprietary.


Built with ❤️ by the RobustMQ team and contributors.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for robustmq

Similar Open Source Tools

For similar tasks

For similar jobs