When Retries Made the Problem Worse

A downstream service started timing out. So we did what seemed like the responsible thing. We added retries. The thinking was straightforward. If a request fails because of a temporary network problem or a momentary downstream slowdown, try again. The…

Event Sourcing vs. The Mutable State Trap

If you were to look at the underlying logical architecture of a traditional core banking system processing a $5 coffee purchase, the customer-facing account state ultimately resolves to something conceptually similar to this SQL operation: To a standard software engineer,…