Skill

messaging

Message queues, events, and async communication patterns

From f5-core
Install
1
Run in your terminal
$
npx claudepluginhub fujigo-software/f5-framework-claude --plugin f5-core
Tool Access

This skill is limited to using the following tools:

ReadWriteGlobGrepBash
Supporting Assets
View in Repository
best-practices/error-handling.md
best-practices/message-design.md
best-practices/monitoring.md
events/event-driven.md
events/event-sourcing.md
events/kafka.md
events/pub-sub.md
fundamentals/message-types.md
fundamentals/messaging-patterns.md
fundamentals/sync-vs-async.md
patterns/dead-letter-queue.md
patterns/outbox-pattern.md
patterns/retry-strategies.md
patterns/saga-pattern.md
queues/bullmq.md
queues/rabbitmq.md
queues/redis-queues.md
queues/sqs.md
references/events.md
references/fundamentals.md
Skill Content

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

TypeDescriptionUse CaseExamples
Point-to-PointOne sender, one receiverTask distributionRabbitMQ, SQS
Pub/SubOne sender, many receiversEvent broadcastingKafka, Redis Pub/Sub
Request/ReplySynchronous over asyncRPC-style callsRabbitMQ RPC
Event StreamingOrdered, replayable logEvent sourcingKafka, Kinesis

Delivery Guarantees

GuaranteeDescriptionTrade-off
At-most-onceFire and forgetMay lose messages
At-least-onceRetry until acknowledgedMay have duplicates
Exactly-onceDeduplicated deliveryComplex, 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

FeatureRabbitMQKafkaSQSRedis
ModelQueueLogQueueQueue/Pub-Sub
OrderingPer-queuePer-partitionFIFO optionPer-queue
PersistenceDurableAlwaysAlwaysOptional
ReplayNoYesNoNo
ThroughputHighVery HighHighVery High
LatencyLowLowMediumVery 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

Stats
Parent Repo Stars17
Parent Repo Forks7
Last CommitFeb 4, 2026