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 ランタイムを使用して構築されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト