1 unstable release
Uses new Rust 2024
| 0.1.0 | Dec 26, 2025 |
|---|
#1465 in Asynchronous
Used in armature-framework
125KB
3K
SLoC
armature-messaging
Message broker integrations for the Armature framework.
Features
- RabbitMQ - AMQP messaging
- Kafka - Event streaming
- NATS - Cloud-native messaging
- AWS SQS/SNS - AWS messaging services
- Unified API - Consistent interface across brokers
Installation
[dependencies]
armature-messaging = "0.1"
Quick Start
RabbitMQ
use armature_messaging::rabbitmq::RabbitMQ;
let mq = RabbitMQ::connect("amqp://localhost:5672").await?;
// Publish
mq.publish("queue", message).await?;
// Subscribe
mq.subscribe("queue", |msg| async move {
println!("Received: {:?}", msg);
Ok(())
}).await?;
Kafka
use armature_messaging::kafka::Kafka;
let kafka = Kafka::connect("localhost:9092").await?;
// Produce
kafka.produce("topic", key, value).await?;
// Consume
kafka.consume("topic", "group", |msg| async move {
println!("Received: {:?}", msg);
Ok(())
}).await?;
NATS
use armature_messaging::nats::Nats;
let nats = Nats::connect("localhost:4222").await?;
// Publish
nats.publish("subject", message).await?;
// Subscribe
nats.subscribe("subject", |msg| async move {
println!("Received: {:?}", msg);
Ok(())
}).await?;
License
MIT OR Apache-2.0
Dependencies
~9–31MB
~340K SLoC