MMehradinmehradsadeghi.hashnode.dev·Sep 27 · 28 min readAutomated 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 s00
MMehradinmehradsadeghi.hashnode.dev·Sep 22 · 20 min readThe 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 or00
MMehradinmehradsadeghi.hashnode.dev·Sep 16 · 19 min readCircuit 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 Ser00
MMehradinmehradsadeghi.hashnode.dev·Sep 13 · 8 min readMySQL 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 the00
MMehradinmehradsadeghi.hashnode.dev·Sep 13 · 8 min readTwo 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 S00