Отказоустойчивость микрофронтендов
Вопрос
Remote-модуль «рекомендации» не загрузился (CDN недоступен или в нём ошибка). Как спроектировать хост, чтобы страница продолжила работать?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Ленивая загрузка remote с обработкой ошибки импорта
Error Boundary вокруг каждого микрофронтенда с понятной заглушкой
Таймаут загрузки и ретрай
Мониторинг ошибок и версий remote, алерты
Возможность откатить remote независимо и версионированный манифест
Что могут спросить следом
- Как тестировать совместимость хоста и remote?
- Как откатить сломанный remote?
Разбор
Каждый remote загружаю лениво, и ошибка загрузки не должна ронять хост: импорт оборачиваю в обработку ошибок, а рендер в Error Boundary с понятной заглушкой или просто скрываю необязательный блок. Ставлю таймаут на загрузку и один-два ретрая. Версии remote фиксирую через манифест, чтобы можно было быстро откатить конкретную часть, не трогая остальные. Ошибки загрузки и рантайма отправляю в мониторинг с меткой версии remote. А совместимость проверяю контрактными или e2e-тестами на стенде, где хост собирается с актуальными версиями remote.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.