| Crates.io | armature-messaging |
| lib.rs | armature-messaging |
| version | 0.1.0 |
| created_at | 2025-12-26 23:34:03.162351+00 |
| updated_at | 2025-12-26 23:34:03.162351+00 |
| description | Message broker integrations for the Armature framework - RabbitMQ, Kafka, NATS, and AWS SQS/SNS |
| homepage | https://pegasusheavy.github.io/armature |
| repository | https://github.com/pegasusheavy/armature |
| max_upload_size | |
| id | 2006432 |
| size | 216,420 |
Message broker integrations for the Armature framework.
[dependencies]
armature-messaging = "0.1"
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?;
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?;
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?;
MIT OR Apache-2.0