armature-messaging

Crates.ioarmature-messaging
lib.rsarmature-messaging
version0.1.0
created_at2025-12-26 23:34:03.162351+00
updated_at2025-12-26 23:34:03.162351+00
descriptionMessage broker integrations for the Armature framework - RabbitMQ, Kafka, NATS, and AWS SQS/SNS
homepagehttps://pegasusheavy.github.io/armature
repositoryhttps://github.com/pegasusheavy/armature
max_upload_size
id2006432
size216,420
Joseph R. Quinn (quinnjr)

documentation

README

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

Commit count: 0

cargo fmt