mxsm/rocketmq-rust

🚀 Apache RocketMQ built in Rust 🦀 — faster, safer, and more memory-efficient. Powering high-performance messaging for the AI era, with AI Agent, MCP, and AI-SRE capabilities.

解決的問題

RocketMQ-Rust 為 Rust 生態系統提供了一個高性能、記憶體安全且可靠的分散式訊息佇列系統。它是 Apache RocketMQ 的非官方重新實現,允許 Rust 開發者在不依賴基於 Java 的原始實現的情況下使用企業級訊息中間件,同時保持完整的協議相容性,以確保 Rust 和 Java 實現之間的互操作性。

運作原理

該專案實現了一個由多個核心元件組成的分散式架構:

  • Name Server:處理服務發現和路由協調。
  • Broker:訊息儲存和投遞的引擎,管理主題、佇列和消費者群組。
  • Controller:管理高可用性和故障轉移工作流。
  • Producer and Consumer Clients:用於使用推送或拉取模型發布和消費訊息的 SDK。
  • Store:針對順序寫入優化的本地儲存引擎,支援 CommitLogs 和分層儲存。
  • Proxy:用於客戶端存取和協議整合的閘道層。

適用對象

本專案專為需要生產就緒的分散式訊息系統的 Rust 開發者和系統架構師設計,該系統利用 Rust 的記憶體安全性和並行模型來實現高吞吐量和最小的資源開銷。

亮點

  • 完整的協議相容性:與 Apache RocketMQ Java 客戶端和伺服器互操作。
  • 記憶體安全:透過 Rust 的所有權模型消除資料競爭和空指標解引用。
  • 全面的工具:包括管理 CLI、管理 TUI 以及多種儀表板選項(Web、Tauri 和 GPUI)。
  • 靈活的儲存:支援本地儲存和基於 RocksDB 的實現。
  • 非同步原生:使用 Tokio 執行時構建,以實現高效的非同步處理。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案