Expand description
RocketMQ Tools - Admin and CLI utilities
This crate provides both:
- Core: Reusable business logic for RocketMQ operations
- CLI: Command-line interface with formatting and validation
§Architecture
┌─────────────────────────────────────────┐
│ CLI Layer (bin/) │
│ - Command parsing (clap) │
│ - Output formatting (formatters/) │
│ - Input validation (validators/) │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Core Logic (core/) │
│ - Topic operations │
│ - NameServer operations │
│ - Broker operations (future) │
│ - Consumer operations (future) │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Admin API (admin/) │
│ - DefaultMQAdminExt │
│ - MQAdminExt trait implementations │
└─────────────────────────────────────────┘§Usage Examples
§As a Library (using core)
ⓘ
use rocketmq_admin_core::core::admin::AdminBuilder;
use rocketmq_admin_core::core::topic::TopicService;
// With RAII auto-cleanup
let mut admin = AdminBuilder::new()
.namesrv_addr("127.0.0.1:9876")
.build_with_guard()
.await?;
let clusters = TopicService::get_topic_cluster_list(&mut admin, "MyTopic").await?;
// admin automatically cleaned up here§As a CLI Tool
rocketmq-admin-cli-rust topic topicClusterList -t MyTopic -n 127.0.0.1:9876Modules§
- admin
- cli
- CLI presentation layer
- core
- Core business logic module
- rocketmq_
cli - ui
- UI utilities for enhanced CLI experience