StackPractices

messaging

Practical resources about messaging for software engineers.

40 results

Connecting Systems with Messages and Events

When direct API calls become bottlenecks, messaging patterns provide the decoupling and resilience needed for distributed systems. Message queues, event buses, and stream processors handle backpressure, retries, and eventual consistency.

This collection covers recipes for implementing pub/sub patterns, using message brokers like RabbitMQ and Kafka, designing event-driven architectures, and handling dead letter queues. Each pattern includes failure scenarios and recovery strategies.

intermediate

Event-Carried State Transfer Pattern

Replicate state changes across services by publishing events that carry the full updated entity...

intermediate

Idempotent Consumer Pattern

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

intermediate

Inbox Pattern

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

intermediate

Message Deduplication Pattern

Prevent duplicate processing by tracking message IDs with idempotency keys. Consumers check a store...

intermediate

Message Deferral Pattern

Delay message processing to a scheduled time. Move messages that cannot be processed now to a...

intermediate

Message Queue Load Leveling Pattern

Smooth traffic spikes by placing a queue between a producer and a consumer. The producer writes at...

intermediate

Publish-Subscribe Pattern

Broadcast events to multiple independent subscribers. Publishers send messages to a topic without...

intermediate

Queue-Based Load Leveling: Smooth Traffic Spikes

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

intermediate

Sequential Convoy Pattern

Preserve message ordering for related messages in a distributed system by routing each entity's...

intermediate

Dead Letter Queue Runbook

Operational runbook for triaging, fixing, and replaying dead letter queue messages in Kafka and...

intermediate

Kafka Topic Naming Convention Template

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

advanced

Message Schema Evolution Policy (Avro, Protobuf, JSON)

A reusable policy for evolving message schemas safely in event-driven systems: compatibility rules,...

intermediate

RabbitMQ Queue Design Template

Template for documenting RabbitMQ queue, exchange, and binding design: exchange types, queue...

advanced

Complete Guide to Kafka Stream Processing

Build real-time event pipelines with Kafka: producers, consumers, Kafka Streams, Connect, schema...

kafka stream-processing event-streaming schema-registry
intermediate

Complete Guide to Microservices Communication

Compare sync vs async communication patterns for microservices. Covers REST, gRPC, message queues,...

advanced

Stream Processing: Event-Driven Data Pipelines with

A practical guide to stream processing: choosing between Kafka Streams, Flink, and Spark Streaming,...

advanced

Complete Guide to Event-Driven Systems

Design event-driven backends: event sourcing, CQRS, sagas, outbox pattern, idempotency, eventual...

advanced

Complete Guide to Apache Kafka in Production

Operate Apache Kafka in production: partitions, replication, consumer groups, tuning, monitoring,...

advanced

RabbitMQ Architecture: Exchanges, Queues and Clustering

Design and operate RabbitMQ for reliable messaging. Covers exchanges, queues, bindings, routing...

intermediate

Message Queues — RabbitMQ, Kafka, and SQS detailed analysis

A thorough guide to message queues: when to use RabbitMQ, Kafka, or SQS. Covers patterns,...

No results found.