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 при видимой задержке.