What I'd do differently: a retrospective on Foreman
What’s over-engineered, what I cut corners on, and the one thing I’d change if I started over.
What’s over-engineered, what I cut corners on, and the one thing I’d change if I started over.
Building a bounded worker pool with priority Kafka dispatch and clean SIGTERM shutdown — no work abandoned, no offsets lost.
Why you can’t atomically write to Postgres and Kafka, and how the outbox pattern with idempotent consumers gets you exactly-once semantics.
Why three binaries instead of one, Postgres as source of truth, and the transactional outbox seam between Postgres and Kafka.
The motivation and stack choices behind building a self-scaling distributed job queue from scratch.
An implementation of Google’s Maglev consistent hashing in Go, using fixed-size lookup to solve the “thundering herd” problem.
A deep dive into systems engineering: how to build an elastic task engine using Go, Redis, and the Docker SDK, featuring custom autoscaling, scale-to-zero logic, and synchronous log streaming.