Your DLQ Is a Graveyard - Here's How to Fix It
Most dead letter queues become message graveyards - impossible to debug, dangerous to replay, eventually deleted. Three design decisions change everything.
This site stores data to improve your experience. Learn more in our Consent Policy and Privacy Policy.
Linux, messaging systems, databases, and foundational platform engineering tech
Platform engineering sits at the intersection of software development and systems administration. This category covers the foundational technologies that do not fit neatly into infrastructure-as-code or observability buckets but are essential to the work: TypeScript for tooling and automation, Linux for everything that runs on servers, messaging systems like RabbitMQ and Kafka for async communication, and databases like PostgreSQL for persistent state.
The focus here is practical depth. TypeScript articles address the type system patterns that make platform tooling maintainable. Linux content covers the administration fundamentals that come up when debugging containers or configuring hosts. Messaging system articles dig into the operational reality of queues, consumers, and failure modes. Database content addresses the schema design, query optimization, and operational concerns that platform engineers encounter when supporting application teams.
Whether you are writing a CLI tool in TypeScript, troubleshooting a Linux networking issue, designing a message queue topology, or optimizing PostgreSQL queries, the content here reflects hands-on experience with the technologies that underpin everything else.
Most dead letter queues become message graveyards - impossible to debug, dangerous to replay, eventually deleted. Three design decisions change everything.
How to size connection pools using Little's Law, and the saturation signals that predict database problems before they cascade.
Why at-least-once delivery means your handlers need to expect duplicates - and how to build them right.