Automated Testing in Backend Development: A Complete Guide from Unit Tests to Fuzz TestingIf you had to change one of your critical services right now, how confident are you that the change wouldn't silently break something else in your codebase ? And harder still — if the only way to be sSep 27 · 28 min readmehradsadeghi.hashnode.dev
The Outbox Pattern Explained: A Complete Guide to Reliable Messaging in Distributed SystemsWhat happens if your database successfully commits a transaction, but your Message Broker becomes unavailable at exactly the same moment ? Imagine a user places an order in an online store, and the orSep 22 · 20 min readmehradsadeghi.hashnode.dev
Circuit Breaker Pattern Explained: How to Prevent Cascading Failures in Distributed SystemsWhat happens when one service fails, but your entire system keeps calling it anyway ? Imagine your payment service is down. Normally, every purchase request follows a path like this: User ↓ Order SerSep 16 · 19 min readmehradsadeghi.hashnode.dev
MySQL Overselling: Why SELECT Isn't Enough and How SELECT ... FOR UPDATE Solves ItImagine you’re running an online store, there’s exactly one item left in stock. Two customers click Buy at almost exactly the same time. Both requests reach your application. Both transactions ask theSep 13 · 8 min readmehradsadeghi.hashnode.dev
Two Transactions, One Row: What Does MySQL Actually Let You See ?Can one transaction see another transaction’s uncommitted changes ? Can the same query return different results inside a single transaction ? And why does SELECT sometimes give you a snapshot, while SSep 13 · 8 min readmehradsadeghi.hashnode.dev