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의 비공식 재구현으로 기능하며, Java 기반 원본에 의존하지 않고도 Rust 개발자가 엔터프라이즈급 메시지 미들웨어를 사용할 수 있게 합니다. 또한 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 런타임을 사용하여 구축되었습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트