Ctrl K
Backend · Senior · Дизайн

Оформление заказа затрагивает три сервиса — заказы, платежи и склад, — и у каждого своя база. Как обеспечить согласованность данных, если один из шагов падает?

~10 мин голосом

Как подойти

Проверяют, понимает ли кандидат, как держать согласованность между сервисами без распределённой транзакции. Важно, умеет ли он спроектировать сагу, которая переживает сбои: с идемпотентностью, надёжной доставкой команд, правильным порядком шагов и планом на случай, когда откат не удался.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыВаш сервис синхронно обращается к внешнему сервису, который иногда отвечает очень медленно или с ошибками. Как сделать так, чтобы это не положило ваш сервис? MiddleСервис сохраняет заказ в базу, а затем публикует событие «заказ создан» в брокер сообщений. Какие проблемы здесь возможны и как их решить? MiddleВаш сервис по сети вызывает другой сервис. Какие проблемы могут возникнуть и как с ними справляться? JuniorОсновная таблица в вашей базе выросла до нескольких терабайт, и один инстанс перестал справляться с записью. Как бы вы спроектировали переход на шардирование? SeniorСпроектируйте распределённый rate limiter для публичного API: лимиты задаются на ключ клиента, запросы обрабатывают десятки инстансов шлюза. Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~10 мин