Skip to content
Development
Skill

/messaging

Message queues, events, and async communication patterns

From plugin
f5-framework
2434 skills104 agents69 commands
Install
$ npx -y skills add Fujigo-Software/f5-framework-claude --skill messaging --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/messaging

Context preview

The summary Claude sees to decide when to auto-load this skill.

Message queues, events, and async communication patterns

SKILL.md

messaging.SKILL.md
name: messaging
description: Message queues, events, and async communication patterns
category: skill
allowed-tools: Read, Write, Glob, Grep, Bash
user-invocable: true
context: inject
version: 1.0.0

Messaging Skills

Overview

Asynchronous communication patterns for building scalable, decoupled distributed systems. Messaging enables services to communicate without direct coupling, improving reliability and scalability.

Messaging Types

| 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 |

Delivery Guarantees

| 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 |

When to Use Messaging

Use Messaging For

  • Decoupling services
  • Async task processing
  • Event-driven architectures
  • Load leveling and buffering
  • Cross-service communication

Avoid Messaging When

  • Simple request/response is sufficient
  • Strong consistency is required
  • Real-time response is critical
  • System complexity isn't justified

Categories

Fundamentals

Core messaging concepts:

  • **Messaging Patterns** - Common communication patterns
  • **Sync vs Async** - When to use each approach
  • **Message Types** - Commands, events, and queries

Queues

Message queue implementations:

  • **RabbitMQ** - Feature-rich message broker
  • **Redis Queues** - Simple Redis-based queues
  • **AWS SQS** - Managed queue service
  • **BullMQ** - Node.js job queue

Events

Event-driven patterns:

  • **Event-Driven Architecture** - EDA fundamentals
  • **Apache Kafka** - Event streaming platform
  • **Event Sourcing** - State as event log
  • **Pub/Sub** - Publish-subscribe patterns

Patterns

Distributed system patterns:

  • **Saga Pattern** - Distributed transactions
  • **Outbox Pattern** - Reliable event publishing
  • **Retry Strategies** - Handling failures
  • **Dead Letter Queue** - Failed message handling

Reliability

Ensuring message delivery:

  • **Delivery Guarantees** - At-most/least/exactly-once
  • **Idempotency** - Safe message reprocessing
  • **Message Ordering** - Maintaining sequence

Best Practices

Production considerations:

  • **Message Design** - Schema and versioning
  • **Error Handling** - Failure management
  • **Monitoring** - Observability and alerting

Quick Reference

Message Broker Comparison

| 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 |

Common Patterns

Producer → Queue → Consumer (Point-to-Point)
Producer → Exchange → Queue → Consumer (RabbitMQ)
Producer → Topic → Partition → Consumer Group (Kafka)
Publisher → Channel → Subscribers (Pub/Sub)

Integration with F5

# In f5-config.yaml
messaging:
  broker: rabbitmq
  queues:
    - name: orders
      durable: true
      dlq: orders-dlq
  events:
    - topic: order.placed
      retention: 7d

Related Skills

  • [Architecture](/skills/architecture/) - System design patterns
  • [Database](/skills/database/) - Transactional outbox
  • [DevOps](/skills/devops/) - Message broker deployment
Read more
Ships withf5-framework

AI-Powered Development Framework for Claude Code

Get the whole plugin

Other skills on f5-framework.