Как гарантировать что 100% запросов на обновление данных в конечном итоге приедут в read-модель?

Нужны устойчивое событие в одной транзакции с записью, повторная доставка и идемпотентное обновление проекции. Обещание 100% требует оговорённых условий восстановления и хранения.

Короткий ответ

Что ответить на собеседовании

Нужны устойчивое событие в одной транзакции с записью, повторная доставка и идемпотентное обновление проекции. Обещание 100% требует оговорённых условий восстановления и хранения.

Подробный разбор

Ответ с пояснениями

Нужны устойчивое событие в одной транзакции с записью, повторная доставка и идемпотентное обновление проекции. Обещание 100% требует оговорённых условий восстановления и хранения.

Типичная схема — transactional outbox: изменение бизнес-данных и запись события фиксируются вместе. Отдельный процесс доставляет событие брокеру с повторами. Consumer сохраняет результат и отметку обработки атомарно, а подтверждение делает после успешной записи.

Контролируйте lag, необработанные ошибки, retention и возможность replay. Защититесь от дублей и нарушения порядка по версии сущности. Если данные безвозвратно потеряны или обработчик навсегда сломан, никакая формулировка «eventually» не гарантирует доставку без вмешательства.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее