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