Ответ вслух Middle Микросервисы глазами аналитика обновлено

Кейс: карточка товара зависит от пяти сервисов

Вопрос

Карточка товара маркетплейса собирается из пяти сервисов: каталог, цены, остатки, отзывы, рекомендации. Опиши требования к поведению при отказах.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала делю зависимости: каталог и цена критичны, без них карточку не показываем или показываем кеш с короткой давностью; отзывы и рекомендации некритичны, при сбое блок скрывается. Задаю бюджет времени на страницу, например 800 мс, и таймауты на каждый вызов внутри него.

Что должно прозвучать в ответе

  • Критичные и некритичные зависимости: без каталога и цены карточки нет, отзывы и рекомендации можно скрыть

  • Таймауты на каждый вызов и общий бюджет времени страницы

  • Запасные ответы: кеш, «нет данных», популярные товары

  • Остатки: показывать «уточняем наличие» или блокировать покупку

  • Мониторинг и алерты по доле деградированных ответов

Что могут спросить следом

  • Можно ли показывать цену из кеша?
  • Как протестировать деградацию?

Разбор

Сначала делю зависимости: каталог и цена критичны, без них карточку не показываем или показываем кеш с короткой давностью; отзывы и рекомендации некритичны, при сбое блок скрывается. Задаю бюджет времени на страницу, например 800 мс, и таймауты на каждый вызов внутри него. Для рекомендаций запасной вариант: популярные в категории. Остатки особый случай: показывать устаревшее наличие опасно, поэтому при сбое пишем «уточняем наличие», а при оформлении проверяем остаток синхронно. Цену из кеша показывать можно, только если при оформлении она перепроверяется. Требую метрики доли деградированных ответов и алерты, а тестирование отказов включаю в критерии приёмки.

Ответьте сами, а не прочитайте

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