展示如何使用 RocketMQ-Rust 客户端 API 和功能的全面示例集合。
这是一个独立项目,包含 RocketMQ-Rust 的实用示例。展示了各种使用模式,包括:
- 消费者示例:Push 消费者、Pop 消费者、消息监听器
- 生产者示例:(即将推出)
- 管理操作:(即将推出)
- Rust 1.85.0 或更高版本
- 运行中的 RocketMQ nameserver 和 broker(默认:
127.0.0.1:9876)
# 进入示例目录
cd rocketmq-example
# 运行 pop 消费者示例
cargo run --example pop-consumer
# 列出所有可用示例
cargo run --example <TAB>演示如何使用集群模式消费消息,在多个消费者实例之间实现负载均衡。
文件:examples/consumer/consumer_cluster.rs
运行:
cargo run --example consumer-cluster功能特性:
- 集群模式消费(默认模式)
- 消费者实例间负载均衡
- 并发消息处理
- 每条消息仅被一个实例消费
演示如何使用 pop 消费模式并禁用客户端侧负载均衡。
文件:examples/consumer/pop_consumer.rs
运行:
cargo run --example pop-consumer功能特性:
- 基于 Pop 的消息消费
- 并发消息处理
- 自动创建主题/消费者组
- 消息请求模式配置
大多数示例使用默认配置:
const NAMESRV_ADDR: &str = "127.0.0.1:9876";
const TOPIC: &str = "TopicTest";
const CONSUMER_GROUP: &str = "please_rename_unique_group_name_4";修改示例源文件中的这些常量以匹配您的 RocketMQ 集群设置。
- 在适当的类别文件夹中创建新文件(例如:
examples/consumer/my_example.rs) - 将示例配置添加到
Cargo.toml:
[[example]]
name = "my-example"
path = "examples/consumer/my_example.rs"- 运行示例:
cargo run --example my-example该项目引用本地 RocketMQ-Rust crate:
rocketmq-client-rust- 客户端 APIrocketmq-common- 通用工具rocketmq-rust- 核心运行时rocketmq-tools- 管理工具
rocketmq-example/
├── examples/
│ └── consumer/
│ ├── consumer_cluster.rs
│ └── pop_consumer.rs
├── Cargo.toml
└── README.md
- 这是一个独立项目,不属于主 RocketMQ-Rust workspace
- 示例使用相对路径依赖来引用父 crate
- 每个示例都是独立的,可以单独运行
欢迎贡献新示例!请确保:
- 示例有良好的内联注释文档
- 配置明确指定
- 示例遵循 Rust 最佳实践
- 每个示例演示单一、清晰的用例
该项目继承 RocketMQ-Rust 的双重许可证:
- Apache License 2.0
- MIT License