Ответ вслух Middle System design на фронте обновлено

Микрофронтенды

Вопрос

К вам приходят с идеей распилить монолит на микрофронтенды. Что скажешь и как спроектируешь?

Веди разговор вслух, как на секции. Начинать с решения - главная ошибка: первые полторы минуты только вопросы.

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

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

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

Коротко

Правильный первый ход - отказаться сразу решать. Микрофронтенды решают организационную проблему: независимые релизы нескольких команд.

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

  • первым делом спросил, какую проблему решаем - обычно организационную, а не техническую

  • назвал цену: общий рантайм, дубли зависимостей, сложность отладки и релизов

  • варианты интеграции: сборка, рантайм через module federation, iframe

  • общая оболочка отвечает за маршрутизацию, авторизацию и оформление

  • версии общих зависимостей и что делать при расхождении

  • изоляция стилей и глобального состояния

  • сквозная отладка и мониторинг: как понять, чей модуль упал

  • честный вывод: чаще всего задачу решает модульный монолит

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

  • Как избежать двух версий React на странице?
  • Чем module federation отличается от npm-пакетов?
  • Когда микрофронтенды действительно оправданы?

Разбор

Правильный первый ход - отказаться сразу решать. Микрофронтенды решают организационную проблему: независимые релизы нескольких команд. Если команда одна, они дают только цену.

Цену надо назвать вслух: дублирование зависимостей (две версии React на странице), общий рантайм, сложная отладка, каскадные падения, тяжёлый локальный запуск.

Варианты: интеграция на сборке (просто, но релизы связаны), module federation (независимые релизы, платим согласованием версий), iframe (полная изоляция, но боль с общим состоянием и оформлением).

Оболочка владеет маршрутизацией, авторизацией, оформлением и токенами; модули не знают друг о друге и общаются событиями или через контракт оболочки.

Обязательно - сквозной мониторинг: без идентификатора модуля в ошибках разбирательство «чей упал» превращается в переписку.

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

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

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