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.