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 运行时构建,以实现高效的异步处理。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目