Distributed Locks: What They Actually Guarantee
A distributed lock cannot promise mutual exclusion, because it cannot control the process holding it. What it can do is still useful — provided you know which of the two problems you have.
6 min read
Staff Software Engineer at
Software · Systems · Cloud · AI
Understanding how technology works beneath the abstractions.
A distributed lock cannot promise mutual exclusion, because it cannot control the process holding it. What it can do is still useful — provided you know which of the two problems you have.
6 min read
Kafka gives you ordering per partition. Almost every ordering bug in production comes from a gap between that guarantee and the one people believed they had.
6 min read
Every abstraction is a bet about what you will never need to know. Understanding the bet is most of what separates engineers who can debug a system from engineers who can only operate one.
6 min read
I write about software engineering, distributed systems, cloud architecture and AI — with a particular interest in the reasoning behind technical decisions and what happens beneath the abstractions.
Most engineering content explains how to use a thing. I am more interested in why it was built that way: the trade-offs that were made, the failure modes that shaped the design, and what actually happens when the abstraction stops holding.
Building