messaging

Practical resources about messaging for software engineers.

39 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

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

intermediate

Publish-Subscribe Pattern

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

intermediate

Queue-Based Load Leveling Pattern

Introduce a queue between task producers and consumers to smooth out traffic spikes, decouple...

intermediate

Sequential Convoy Pattern

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

intermediate

Dead Letter Queue Runbook

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

intermediate

Kafka Topic Naming Convention Template

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

advanced

Message Schema Evolution Policy

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

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 streaming pipelines with Kafka. Covers producers, consumers, Kafka Streams,...

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

CQRS + Event Sourcing — Combined Guide

A practical guide to combining CQRS and Event Sourcing: separating read and write models,...

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 and operate event-driven backends. Covers event sourcing, CQRS, sagas, outbox pattern,...

advanced

Complete Guide to Apache Kafka in Production

Run Apache Kafka in production with confidence. Covers partitions, replication, consumer groups,...

advanced

Complete Guide to RabbitMQ Architecture

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.