From f5-core
Guides on message queues, pub/sub, event streaming, and async patterns for scalable distributed systems. Covers RabbitMQ, Kafka, Redis, SQS, BullMQ, Saga, Outbox, delivery guarantees, and best practices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/f5-core:messagingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Asynchronous communication patterns for building scalable, decoupled distributed systems. Messaging enables services to communicate without direct coupling, improving reliability and scalability.
best-practices/error-handling.mdbest-practices/message-design.mdbest-practices/monitoring.mdevents/event-driven.mdevents/event-sourcing.mdevents/kafka.mdevents/pub-sub.mdfundamentals/message-types.mdfundamentals/messaging-patterns.mdfundamentals/sync-vs-async.mdpatterns/dead-letter-queue.mdpatterns/outbox-pattern.mdpatterns/retry-strategies.mdpatterns/saga-pattern.mdqueues/bullmq.mdqueues/rabbitmq.mdqueues/redis-queues.mdqueues/sqs.mdreferences/events.mdreferences/fundamentals.mdAsynchronous communication patterns for building scalable, decoupled distributed systems. Messaging enables services to communicate without direct coupling, improving reliability and scalability.
| Type | Description | Use Case | Examples |
|---|---|---|---|
| Point-to-Point | One sender, one receiver | Task distribution | RabbitMQ, SQS |
| Pub/Sub | One sender, many receivers | Event broadcasting | Kafka, Redis Pub/Sub |
| Request/Reply | Synchronous over async | RPC-style calls | RabbitMQ RPC |
| Event Streaming | Ordered, replayable log | Event sourcing | Kafka, Kinesis |
| Guarantee | Description | Trade-off |
|---|---|---|
| At-most-once | Fire and forget | May lose messages |
| At-least-once | Retry until acknowledged | May have duplicates |
| Exactly-once | Deduplicated delivery | Complex, higher latency |
Core messaging concepts:
Message queue implementations:
Event-driven patterns:
Distributed system patterns:
Ensuring message delivery:
Production considerations:
| Feature | RabbitMQ | Kafka | SQS | Redis |
|---|---|---|---|---|
| Model | Queue | Log | Queue | Queue/Pub-Sub |
| Ordering | Per-queue | Per-partition | FIFO option | Per-queue |
| Persistence | Durable | Always | Always | Optional |
| Replay | No | Yes | No | No |
| Throughput | High | Very High | High | Very High |
| Latency | Low | Low | Medium | Very Low |
Producer → Queue → Consumer (Point-to-Point)
Producer → Exchange → Queue → Consumer (RabbitMQ)
Producer → Topic → Partition → Consumer Group (Kafka)
Publisher → Channel → Subscribers (Pub/Sub)
# In f5-config.yaml
messaging:
broker: rabbitmq
queues:
- name: orders
durable: true
dlq: orders-dlq
events:
- topic: order.placed
retention: 7d
npx claudepluginhub fujigo-software/f5-framework-claude --plugin f5-coreImplements message queues with RabbitMQ, Kafka, Redis Streams, AWS SQS/SNS, Pub/Sub. Covers DLQs, idempotency, ordering guarantees, consumer groups, backpressure, serialization for async communication and event-driven architectures.
Covers asynchronous messaging patterns in .NET with Wolverine and MassTransit: outbox pattern, saga/choreography, and broker config for RabbitMQ and Azure Service Bus.
Provides message queue knowledge base with broker comparisons (RabbitMQ, Kafka, SQS, Redis Streams), delivery guarantees, consumer groups, and advanced RabbitMQ/Kafka patterns for audits and generation.