Фронтенд-приложения как микросервисыПроизводительность
Один из архитекторов фронтенда в Банке Точка, также консультирует и для души преподает в Яндекс.Практикум. Имеет около 5 лет опыта в бэкендах и базах данных, фронт начинал в далеких нулевых с флэша, а полностью погрузился во фронт с 2015.
Основная сфера интересов — ООП, ООАП, DDD, паттерны и архитектура.
В мире бэкенда хайп на микросервисы сошел на нет, и теперь микросервисы - обычное дело. Есть проработанные методологии построения, деплоя, масштабирования и архитектуры микросервисов.
В мире фронтенда сервисный подход распространен не так сильно, как хотелось бы.
Если делать enterprise-SPA, все современные фреймворки в дружбе с webpack предоставляют механизм lazy-loading отдельных модулей, но он имеет минус, от которого нам хотелось избавиться. Этот минус - tree-shaking. Необходимость запуска webpack для пересборки всего приложения ради изменения одного модуля не дает нам деплоить, откатывать, включать/выключать модули независимо.
Помимо независимости модулей от общей сборки, мы мотивированы использованием нескольких популярных на рынке фреймворков для большей свободы команд и расширения найма.
После исследования существующих решений для реализации микросервисной архитектуры было принято решение делать свое, т.к. существующие завязаны на пересборку.
Решение удалось.
В докладе я расскажу о том, на какие грабли мы наступили, какие архитектурные решения и допущения были приняты, как у нас разрабатываются, общаются между собой, деплоятся и загружаются микросервисы.
После доклада каждый знакомый с JavaScript разработчик сможет реализовать подобную систему микросервисного фронта независимо от используемого фреймворка.