1 unstable release
| 0.1.0 | Jun 16, 2025 |
|---|
#2680 in Asynchronous
84KB
1.5K
SLoC
RMS (Rust Message System) 模块
RMS 是 Baichun-Framework 框架的消息传递系统模块,提供了统一的消息传递接口和多种消息中间件的集成支持。
🌟 特性
- 统一的消息传递接口
- 支持多种消息中间件
- 可靠的消息传递保证
- 灵活的消息路由
- 高性能异步处理
- 完善的错误处理
🔧 主要组件
消息通道 (MessageChannel)
- 双向消息通道支持
- 消息路由功能
- 通道生命周期管理
消息生产者 (MessageProducer)
- 异步消息发送
- 批量消息处理
- 消息确认机制
消息消费者 (MessageConsumer)
- 消息订阅
- 消费组管理
- 消息确认和重试
消息转换器 (MessageConverter)
- 消息序列化/反序列化
- 消息格式转换
- 自定义转换器支持
📦 支持的消息中间件
- Apache Kafka
- RabbitMQ (计划中)
- Redis Pub/Sub (计划中)
- NATS (计划中)
- Apache Pulsar (计划中)
🚀 快速开始
安装
在 Cargo.toml 中添加依赖:
[dependencies]
baichun-framework-rms = { version = "0.1.0" }
基本使用
- 创建消息通道
use baichun_framework_rms::bind;
let channel = bind!(factory, config);
- 发送消息
let producer = bind!(producer factory, config);
producer.send("topic", message).await?;
- 消费消息
let consumer = bind!(consumer factory, config);
consumer.subscribe("topic", |msg| {
// 处理消息
Ok(())
}).await?;
📚 配置说明
Kafka 配置示例
let config = KafkaConfig {
brokers: vec!["localhost:9092"],
group_id: "my-group",
client_id: "my-client",
// ... 其他配置
};
🔨 最佳实践
-
消息可靠性
- 使用消息确认机制
- 实现消息重试策略
- 配置死信队列
-
性能优化
- 使用批量处理
- 配置合适的缓冲区大小
- 调整并发消费者数量
-
监控和维护
- 实现健康检查
- 监控消息延迟
- 跟踪消息流转
📈 性能指标
- 吞吐量: 10k+ 消息/秒
- 延迟: < 10ms (P99)
- 可靠性: 99.99% 消息投递保证
🔍 故障排除
常见问题及解决方案:
-
连接超时
- 检查网络连接
- 验证中间件配置
- 确认防火墙设置
-
消息堆积
- 增加消费者数量
- 优化消息处理逻辑
- 检查资源使用情况
📝 开发计划
- 添加更多中间件支持
- 实现消息追踪功能
- 优化性能和资源使用
- 添加更多单元测试
- 完善文档和示例
🤝 贡献
欢迎提交 Pull Request 或提出 Issue!
�� 许可证
MIT License
Dependencies
~23–52MB
~649K SLoC