messaging

star 20

Message queues, events, and async communication patterns

Fujigo-Software By Fujigo-Software schedule Updated 2/4/2026

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

Install via CLI
npx skills add https://github.com/Fujigo-Software/f5-framework-claude --skill messaging
Repository Details
star Stars 20
call_split Forks 7
navigation Branch main
article Path SKILL.md
More from Creator
Fujigo-Software
Fujigo-Software Explore all skills →