systems-notes.hashnode.devConsistency ModelsBackground One of the most confusing experiences when working with real systems is this:you do something, the system tells you it worked, and then immediately behaves as if it didn’t. You update a profile photo and still see the old one.You change a ...Feb 8·7 min read
systems-notes.hashnode.devExactly-Once Delivery is ImpossibleBackground We discussed this in previous articles that when engineers first encounter distributed systems, they subconsciously carry an assumption from single-machine programming: if something happens, the system knows it happened. If it didn’t happe...Feb 1·7 min read
systems-notes.hashnode.devIdempotencyWhen you read about idempotency the first time, it sounds reasonably precise and simple. The definition is short: performing the same operation multiple times should have the same effect as performing it once. On paper, it feels like a solid guarante...Jan 26·9 min read
systems-notes.hashnode.devWhy Distributed Systems Can't Know What's HappeningBackground When we write programs, we have a quiet assumption that goes unnoticed until it gets explicitly questioned — when you send a request, it either succeeds or fails; even when you query a database, it either succeeds or fails. It always holds...Jan 19·9 min read
systems-notes.hashnode.devCaching: Performance vs ConsistencyEvery computing system, no matter how low level or high level, is constrained by the same fundamental problem: fetching data takes time. Computation itself is fast, but fetching data is slow. A modern CPU is extraordinarily fast. But what slows a sys...Jan 12·10 min read