Вопрос проверяет умение проектировать сервисы не по технологиям, а по бизнес-смыслу.
Микросервисы делят по бизнес-возможностям, а не по слоям приложения. Каждый сервис должен решать законченную бизнес-задачу. Он должен иметь собственные данные и правила. Такой подход упрощает развитие продукта и снижает связанность. Технические детали вторичны по отношению к бизнес-ценности.
Частая ошибка — делить микросервисы по типам технологий: API, база данных, ML. Правильный подход — отталкиваться от бизнеса.
Определение:
Бизнес-ценность сервиса — это конкретная функция или результат, за который отвечает сервис с точки зрения продукта.
Принципы деления:
Одна бизнес-функция — один сервис
Например: детекция объектов, аналитика, рекомендации
Сервис имеет четкую цель
Собственная бизнес-логика
Сервис сам принимает решения в своей зоне ответственности
Минимум сквозной логики
Минимальные зависимости
Слабая связность с другими сервисами
Общение только через контракты
Независимый жизненный цикл
Отдельные релизы
Собственные метрики успеха
Краткий вывод:
Деление по бизнес-ценности делает микросервисную архитектуру управляемой и масштабируемой в долгосрочной перспективе.