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.