
The Transactional Outbox Pattern: Never Lose an Event Again
This is one of those patterns that looks like nothing until you get burnt once…
Category
26 posts
This is one of those patterns that looks like nothing until you get burnt once…
Here is a question I like to ask in interviews: your bank account shows a…
Your orders live in Postgres. But you also need them in Elasticsearch for search…
Most of us start our career with one model for everything. The same class, the…
Like the electrical switch in your home that it is named after, a circuit…
The single most expensive habit in performance work is optimizing by gut feel…
“Should we use RabbitMQ or Kafka?” is one of the most common — and most muddled…
Here is a bug that has cost real companies real money: a customer taps “Pay ₹50…
“Kafka is not a message queue. It’s a distributed commit log that happens to be…
“If you’re searching, filtering, or aggregating over large volumes of semi…
“An API Gateway is the front door to your microservices. Every request walks…
“Redis is not just a cache. It’s a data structure server that happens to be…
Every time two systems need to talk, someone has to design the contract between…
Most engineers learn data modelling backwards. They draw an ER diagram…
“There are only two hard things in Computer Science: cache invalidation and…
The previous articles in this series covered scaling reads and scaling writes…
In the companion article on scaling reads, we covered caching, replicas, and…
Introduction Some operations simply can’t finish in the time a user is willing…
Introduction Every non-trivial application eventually needs to handle large…
In a monolith, placing an order is a single database transaction — deduct…
Every distributed system eventually faces the same problem: you have N servers…



















