Learn the vocabulary of coordinating exclusive access to a critical section across service instances.
0 / 5 completed
1 / 5
At standup, a dev mentions coordinating multiple service instances so only one at a time can execute a particular critical section, using a shared external system both instances can check. What is this coordination mechanism called?
A distributed lock coordinates multiple service instances so only one at a time can execute a particular critical section, using a shared external system, like a database or a dedicated coordination service, that every instance checks before proceeding. Each instance executing the critical section independently with no coordination risks a race condition where two instances perform a conflicting action simultaneously. This shared external lock gives independently running instances a common, reliable way to serialize access to that critical section.
2 / 5
During a design review, the team wants a held distributed lock to automatically expire after a set duration, so a crashed instance that never explicitly releases it doesn't block every other instance indefinitely. Which capability supports this?
A lock lease with an expiration timeout automatically releases a held distributed lock after a set duration, so a crashed instance that never explicitly releases the lock doesn't block every other instance from ever acquiring it. Relying solely on an explicit release assumes the lock holder will always behave correctly and never crash while holding it, which isn't a realistic assumption for a real distributed system. This lease-based expiration is what keeps a distributed lock from becoming a permanent deadlock after an unexpected failure.
3 / 5
In a code review, a dev notices the code periodically renews its held lock's lease while still actively working, extending the expiration so a still-legitimate long-running operation doesn't lose the lock prematurely. What does this represent?
Lock lease renewal, or heartbeating, periodically extends a held lock's expiration while the instance holding it is still actively working, preventing a legitimately long-running operation from losing the lock prematurely just because its original lease duration passed. Allowing every lock to expire on a fixed timer with no renewal mechanism forces a tradeoff between a lease long enough for legitimate work and one short enough to recover quickly from a real crash. Renewal lets the lease stay short for fast crash recovery while still supporting a longer legitimate operation.
4 / 5
An incident report shows two service instances both believed they held the same distributed lock simultaneously after a network partition, and both proceeded to execute the critical section at the same time. What practice would prevent this?
A fencing token that increments with each new lock acquisition lets a downstream system reject an action tagged with an older, stale token, even if a previous lock holder mistakenly still believes it holds the lock after a network partition. Assuming a distributed lock can never be held by two instances simultaneously ignores a well-known, realistic failure mode in a distributed system with unreliable network conditions. This fencing mechanism is a critical, often underappreciated safeguard for making distributed locking genuinely safe rather than just usually safe.
5 / 5
During a PR review, a teammate asks why the team uses a distributed lock instead of letting every service instance execute the critical section independently and just hoping conflicts are rare. What is the reasoning?
Letting every instance execute a critical section independently and hoping a conflict is rare still leaves a real, if infrequent, chance of two instances performing a conflicting action simultaneously, which can cause serious data corruption when it does happen. A distributed lock reliably serializes that access, removing the conflict risk rather than just making it statistically unlikely. The tradeoff is the added latency and infrastructure dependency of coordinating through a shared external lock system for every critical section execution.