advanced
Read-after-write consistency
Guarantee users can see their own writes through routing, session stickiness, primary reads, or version-aware reads. Привязывайте answer к invariant, not generic theory.
Read-after-write гарантирует, что пользователь сразу видит свои обновления, даже если другие читают устаревшие реплики. Реализация: read с primary для владельца сессии, sticky routing на узел записи, version token на read или обновление клиентского кеша после успешной write.
Слабее глобальной strong consistency, но критично для форм, настроек и публикаций, когда пользователь обновляет страницу.
На интервью: видимость после «опубликовал и обновил ленту», sticky session против read-your-writes token.
Типовые ошибки: LB шлёт read на случайную реплику после write; CDN кеширует персональный POST; офлайн-очередь mobile путает порядок.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Flow, где нужна видимость своей записи.
- Read автора с primary или свежей реплики.
- Version token в ответе на write.
- Обновление клиентского кеша после mutation.