Skip to content
View robustmq's full-sized avatar

Block or report robustmq

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
robustmq/README.md

RobustMQ Logo

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

A high-performance distributed message queue built with Rust.

IntroductionFeaturesArchitectureQuick StartProtocolsDocumentationContributingCommunity


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

# Download and extract
make build

# Run the server
cd build/robustmq-0.1.25
bin/robust-server start

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.

🔌 Supported Protocols

MQTT (Message Queuing Telemetry Transport)

  • Versions: 3.1, 3.1.1, 5.0
  • Features: QoS levels, retained messages, last will, shared subscriptions
  • Ports: 1883 (TCP), 1884 (SSL), 8083 (WebSocket), 8084 (WSS)

Apache Kafka Protocol

  • Compatibility: Kafka 2.8+ wire protocol
  • Features: Topics, partitions, consumer groups, transactions
  • Port: 9092

AMQP (Advanced Message Queuing Protocol)

  • Version: 1.0
  • Features: Exchanges, queues, routing, transactions
  • Port: 5672

📚 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.

Popular repositories Loading

  1. robustmq robustmq Public

    A high-performance distributed message queue built with Rust.

    Rust 1k 169

  2. robustmq-geek robustmq-geek Public

    Rust 45 7

  3. robustmq-copilot robustmq-copilot Public

    The one-stop RobustMQ operation and maintenance management platform

    JavaScript 5 4

  4. robustmq-proto robustmq-proto Public

    Rust 3 9

  5. rust-properties rust-properties Public

    1 1

  6. raft-rs raft-rs Public

    Forked from tikv/raft-rs

    Raft distributed consensus algorithm implemented in Rust.

    Rust