Event Patterns

What I’m planning to build

Hands-on Go command-line tools that publish and consume events through RabbitMQ and Kafka (Redpanda locally). Focus on patterns, including dead-letter queues, consumers safe to run twice, and when to pick queues vs logs.

Why both brokers

RabbitMQ and Kafka answer different questions. Task delivery with routing and dead-letter semantics vs durable, replayable event streams. This lab lets me break things cheaply and compare behavior side by side. Background reading: Learning RabbitMQ and Learning Kafka.

What it covers

  • Docker Compose: RabbitMQ management + Redpanda on a local Kafka port
  • Preloaded RabbitMQ definitions (dead-letter queues)
  • Shared event envelope in Go with JSON serialization tests
  • Makefile targets for demo-rabbit and demo-kafka

Connection to my day job

This pairs with my Concourse to RabbitMQ Pipeline Migration work and broader messaging study. Reading specs helps; running consumers that duplicate, reorder, or poison messages is what builds intuition.

Repo

Source lives in the sandbox monorepo under projects/event-patterns/.