top of page


The Retry + Dead-Letter Pattern That Saved Us From Silent Message Loss
We run a set of NestJS microservices that talk to each other over Azure Service Bus queues. For a while, our error handling assumption was simple and wrong: "if the consumer throws, the message just gets redelivered." What really happened, a transient downstream failure would silently drop a message. Queue Message Drops Table of Contents The failure mode Azure Service Bus will redeliver a message if your handler throws and you don’t complete it but only up to maxDeliveryCount
3 min read


How Cache Knows Data Is Updated: TTL, Invalidation & Events
Caching is one of the most common techniques used to make applications faster. Instead of fetching the same data from a database or API every time a user requests it, an application can temporarily store that data in a cache. The next request can then be served much faster. But this raises an important question: If the original data changes, how does the cache know that its copy is no longer correct? The short answer is: a cache usually does not magically know. The applicatio
5 min read
bottom of page