Что описывает аналитик в микросервисной системе
Вопрос
Фича затрагивает четыре микросервиса разных команд. Что ты как аналитик должен описать и согласовать?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Какой сервис владеет какими данными и какие изменения в каждом
Контракты: API и события, версии, кто владелец
Последовательность взаимодействия, синхронно или асинхронно
Консистентность: где допустима задержка, компенсации
Поведение при отказах и таймаутах, наблюдаемость
План выкатки и совместимость версий
Что могут спросить следом
- Как договориться с командой, у которой другие приоритеты?
- Как проверить, что ничего не забыто?
Разбор
Сначала определяю, какой сервис владеет какими данными и где будут изменения, чтобы не нарушить границы. Затем контракты: новые эндпоинты и события, их схемы, версии и владельцы, всё в OpenAPI или AsyncAPI. Рисую sequence с синхронными и асинхронными шагами. Отдельно описываю консистентность: где бизнесу допустима задержка, какие компенсации при сбое на середине. Описываю отказы: что делаем, если один из сервисов не отвечает, какие таймауты, что видит пользователь. Добавляю требования к логам и трассировке. И план выкатки: в каком порядке выпускать сервисы, чтобы старые и новые версии были совместимы. Согласую с каждой командой и архитектором.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.