StackPractices

Tag: messaging

Browse 26 practical software engineering resources tagged with "messaging". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving messaging. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.

Messaging and Queues

Messaging decouples services in time and space, enabling asynchronous workflows and resilient communication. Choosing between queues, pub/sub, and event streams depends on ordering, delivery, and durability requirements.

The resources in this collection cover RabbitMQ, Kafka, SQS, NATS, message patterns, idempotency, dead-letter queues, and delivery semantics. Each recipe shows how to design messaging that survives failures and retries.

Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.

Redis Pub/Sub for Cross-Process Messaging

Use Redis pub/sub channels to broadcast events between processes, handle subscriptions, and...

Dead Letter Queues

Handle failed messages gracefully with dead letter queues, retry policies, and poison pill...

Event-Driven Microservices

Design event-driven microservices with message brokers, event sourcing, CQRS, and eventual...

Event Streaming with Apache Kafka and Node.js

Build growth-ready event-driven systems using Apache Kafka with producers, consumers, consumer...

Message Processing Idempotency

Make message processing idempotent so duplicate deliveries don't trigger side effects in...

Distribute Background Tasks with Python Celery and Redis

Set up Celery with Redis broker for distributed task processing including task chaining, groups,...

Task Queues and RPC with RabbitMQ and AMQP

Distribute background tasks and implement request-reply patterns with RabbitMQ using durable...

Implement Redis Pub/Sub Messaging in Python

Build real-time pub/sub messaging with Redis and Python including pattern subscriptions, message...

Claim Check Pattern

Store large payloads in external storage and pass only a lightweight reference token through the...

Domain Event Pattern

Capture and publish major occurrences within a domain model to decouple side effects from core...

Event Bus Pattern

Decouple components by routing events through a central bus. A behavioral pattern for loosely...

Idempotent Consumer Pattern

Process messages from a queue exactly once regardless of duplicates by using idempotent operations,...

Inbox Pattern

Use a dedicated inbox table or queue to record incoming events or requests, ensuring reliable...

Outbox Pattern

Reliably publish domain events by persisting them in an outbox table within the same database...

Queue-Based Load Leveling: Smooth Traffic Spikes

Use Queue-Based Load Leveling to decouple producers and consumers, absorb traffic spikes, and...

Sequential Convoy Pattern

Preserve message ordering for related messages in a distributed system by grouping them into...

Serverless Fanout Pattern

Broadcast a single event to multiple independent consumers via SNS, EventBridge, or SQS so each...

Dead Letter Queue Runbook

Runbook for handling and replaying dead letter queue messages in Kafka and RabbitMQ: DLQ setup,...

Kafka Topic Naming Convention Template

Template for standardizing Kafka topic names across teams: naming patterns, environment prefixes,...

Message Schema Evolution Policy

Policy for evolving message schemas safely in event-driven systems: backward and forward...