| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
RustMQ is a next-generation, cloud-native distributed message queue system that combines the high-performance characteristics of Apache Kafka with the cost-effectiveness and operational simplicity of modern cloud architectures. Built from the ground up in Rust, RustMQ leverages a shared-storage architecture that decouples compute from storage, enabling unprecedented elasticity, cost savings, and operational efficiency.
Optimized for Google Cloud Platform: RustMQ is designed with Google Cloud services as the default target, leveraging Google Cloud Storage for cost-effective object storage and Google Kubernetes Engine for orchestration, with all configurations defaulting to the us-central1 region for optimal performance and cost efficiency.
# Build images locally
cd docker/ && ./quick-deploy.sh dev-build
# Deploy development cluster
cd ../gke/ && ./deploy-rustmq-gke.sh deploy --environment development# Build and push production images
cd docker/ && PROJECT_ID=your-project ./quick-deploy.sh production-images
# Deploy production cluster
cd ../gke/ && PROJECT_ID=your-project ./deploy-rustmq-gke.sh deploy --environment productionFor detailed setup, see GKE Deployment Guide.
RustMQ implements a storage-compute separation architecture with stateless brokers and shared cloud storage for unprecedented elasticity and cost efficiency.
Click to view the interactive architecture diagram showing RustMQ's innovative storage-compute separation design
The diagram above illustrates RustMQ's enhanced layered architecture with enterprise security:
# Clone the repository
git clone https://github.com/cloudymoma/rustmq.git
cd rustmq
# Start complete RustMQ cluster with all services
cd docker && docker-compose up -d
# Verify cluster health
curl http://localhost:9642/health
# Access services:
# - Broker QUIC: localhost:9092 (mTLS enabled)
# - Admin REST API: localhost:9642 (rate limiting enabled)
# - Controller: localhost:9094 (Raft consensus)# Build all production binaries
cargo build --release
# Verify all tests pass (522+ tests in debug, 531+ in release)
cargo test --release
# Start controller cluster (Raft consensus + ACL storage)
./target/release/rustmq-controller --config config/controller.toml &
# Start broker with security enabled
./target/release/rustmq-broker --config config/broker.toml &
# Initialize security infrastructure
./target/release/rustmq-admin ca init --cn "RustMQ Root CA" --org "MyOrg"
./target/release/rustmq-admin certs issue --principal "broker-01" --role broker
# Start Admin REST API with rate limiting
./target/release/rustmq-admin serve-api 8080# Create topic with replication
./target/release/rustmq-admin create-topic user-events 12 3
# List all topics with details
./target/release/rustmq-admin list-topics
# Get comprehensive topic information
./target/release/rustmq-admin describe-topic user-events
# Check cluster health
./target/release/rustmq-admin cluster-health# Certificate management
./target/release/rustmq-admin certs list --role broker
./target/release/rustmq-admin certs validate --cert-file /path/to/cert.pem
# ACL management
./target/release/rustmq-admin acl create \
--principal "app@company.com" \
--resource "topic.events.*" \
--permissions read,write \
--effect allow
# Security monitoring
./target/release/rustmq-admin security status
./target/release/rustmq-admin audit logs --since "2024-01-01T00:00:00Z"cd sdk/rust
# Secure producer with mTLS
cargo run --example secure_producer
# Consumer with ACL authorization
cargo run --example secure_consumer
# JWT token authentication
cargo run --example token_authenticationcd sdk/go
# Basic producer with TLS
go run examples/tls_producer.go
# Consumer with health monitoring
go run examples/health_monitoring_consumer.go
# Advanced connection management
go run examples/connection_pooling.go# Run benchmark tests
cargo bench
# Validate security performance (sub-microsecond authorization)
cargo test --release security::performance
# Test scaling operations
./target/release/rustmq-admin scaling add-brokers 3
# Verify zero-downtime upgrades
./target/release/rustmq-admin operations rolling-upgrade --version latestWe welcome contributions to help implement the remaining features!
# Clone and setup
git clone https://github.com/cloudymoma/rustmq.git
cd rustmq
# Install development dependencies
cargo install cargo-watch cargo-audit cargo-tarpaulin
# Run tests with coverage
cargo tarpaulin --out Html
# Watch for changes during development
cargo watch -x test -x clippyRustMQ includes comprehensive test coverage across multiple levels:
# Run all unit tests (531 tests passing in release mode, 522 in debug)
cargo test --lib
# Run specific module tests
cargo test storage::
cargo test scaling::
cargo test broker::core# Core broker integration tests
cargo test --test integration_broker_core
# Graceful shutdown integration tests (validates v1.0 shutdown implementation)
cargo test --release --test integration_graceful_shutdown
# Load and performance tests (marked with #[ignore])
cargo test --release --test integration_load_test -- --ignored
# All integration tests
cargo test --releaseIntegration Test Suite:
# Test with specific features
cargo test --features "wasm"
# Test in release mode (recommended for performance tests)
cargo test --release# Run Miri tests (requires nightly Rust)
rustup +nightly component add miri
./scripts/miri-test.sh # All tests
./scripts/miri-test.sh --quick # Fast subsetThis project is licensed under The Bindiego License (BDL), Version 1.0 - see the LICENSE file for details.
For commercial licensing inquiries, please contact the license holder through the official repository.
RustMQ - Built with ❤️ in Rust for the cloud-native future. Optimized for Google Cloud Platform.
| Back | FazBrowse Home | New Git URL |