advanced
Strong consistency
Require latest committed state when invariants such as balances, seats, or permissions cannot tolerate stale reads. Привязывайте answer к invariant, not generic theory.
Strong consistency (линейлизуемость или сериализуемость) — read отражает последнюю зафиксированную write. Нужна при жёстких инвариантах: баланс, остатки, места, права. Реализация: single leader write, quorum read с версией или распределённые транзакции с приемлемой latency.
Не каждая сущность нуждается в strong consistency — там, где stale read даёт финансовый или safety баг. Зафиксируйте, какие API strong, какие eventual.
На интервью: две сущности промпта под strong consistency и какие под eventual, с обоснованием storage.
Типовые ошибки: strong везде и убитая latency; баланс с async replica; распределённые транзакции без анализа сбоев.
Чеклист:
- Инварианты, требующие latest state.
- Критичные read на authoritative source.
- Транзакции или compare-and-set где нужно.
- Явная цена latency.