advanced

Eventual consistency

Accept temporary divergence when convergence, reconciliation, UX messaging, and conflict handling are designed. Привязывайте answer к invariant, not generic theory.

Eventual consistency допускает временное расхождение реплик с сходимостью при прекращении записей. Подходит для лент, счётчиков просмотров, поисковых индексов и аналитики. Проектируйте reconciliation, CRDT или last-write-wins с пониманием семантики конфликтов.

Сообщайте о staleness в UX, если пользователь заметит — «пост появится через мгновение». Мониторьте lag и задайте максимальное расхождение, если бизнесу нужны границы.

На интервью: eventual для чтения ленты, механизм сходимости и когда не использовать.

Типовые ошибки: last-write-wins теряет легитимные обновления; нет мониторинга lag; eventual чтобы скрыть плохую архитектуру без UX.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Staleness приемлема для use case.
  • Путь сходимости или reconciliation.
  • Lag реплик и частота конфликтов.
  • UX при видимой задержке.