rust-messaging

Implement messaging patterns in Rust using channels, NATS, RabbitMQ, Redis Streams, and Kafka.

11|1|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/mindcockpit-ai/cognitive-core --skill rust-messaging
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rust-messaging
Source: https://github.com/mindcockpit-ai/cognitive-core/tree/main/language-packs/rust/skills/rust-messaging
Command: npx skills add https://github.com/mindcockpit-ai/cognitive-core --skill rust-messaging

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rust developers often struggle to choose the right messaging approach for different scales, from simple in‑process communication to distributed streaming, leading to over‑engineered solutions or brittle implementations.

Core Features & Use Cases

  • In‑process channels: Tokio and Crossbeam channels for single‑process coordination.
  • Lightweight pub/sub: NATS with optional JetStream persistence.
  • Reliable task queues: RabbitMQ (lapin) with routing, dead‑letter, and TTL.
  • Event sourcing lite: Redis Streams with consumer groups.
  • Enterprise streaming: Kafka (rdkafka) for high‑throughput, durable logs.
  • Migration Path: Guides developers from basic channels to enterprise‑grade Kafka as traffic grows.

Quick Start

Use the rust-messaging skill to suggest the appropriate messaging library for a new microservice handling high‑throughput events.

Frequently Asked Questions about rust-messaging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What's the best way to choose between Rust messaging patterns like channels and Kafka?

Reliable task queues in Rust are implemented using RabbitMQ via the lapin crate, which supports complex message routing, dead-letter exchanges for failed deliveries, and TTL configurations for time-sensitive tasks.

How do I implement event sourcing lite in Rust using Redis Streams?

You implement event sourcing lite in Rust by utilizing Redis Streams with consumer groups. This approach allows multiple service instances to process the same event log concurrently while tracking individual processing states.

Can I use NATS for lightweight pub/sub in a Rust async runtime?

Yes, you can use NATS for lightweight pub/sub within a Rust async runtime. It provides efficient message broadcasting with optional JetStream persistence when you require durable message storage and delivery guarantees.

When do I need to migrate from in-process channels to enterprise streaming in Rust?

You migrate from in-process channels to enterprise streaming in Rust when traffic grows beyond single-process coordination. This migration path transitions to Kafka for high-throughput, durable logs to satisfy multi-service coordination requirements.