Фронтенд-приложения как микросервисыПроизводительность

Доклад принят в программу конференции
Владимир Санников
Точка

Архитектор фронтенда в банке Точка, имеет около 5 лет опыта в бэкендах и базах данных, фронт начинал в далеких нулевых с флеша.
Основная сфера интересов - ООП, ООАП, DDD, паттерны и архитектура.

телеграм @kbddh
GitHub https://github.com/SoEasy
Тезисы

В мире бэкенда хайп на микросервисы сошел на нет, и теперь микросервисы - обычное дело. Есть проработанные методологии построения, деплоя, масштабирования и архитектуры микросервисов.


В мире фронтенда сервисный подход распространен не так сильно, как хотелось бы.

Если делать enterprise-SPA, все современные фреймворки в дружбе с webpack предоставляют механизм lazy-loading отдельных модулей, но он имеет минус, от которого нам хотелось избавиться. Этот минус - tree-shaking. Необходимость запуска webpack для пересборки всего приложения ради изменения одного модуля не дает нам деплоить, откатывать, включать/выключать модули независимо.

Помимо независимости модулей от общей сборки, мы мотивированы использованием нескольких популярных на рынке фреймворков для большей свободы команд и расширения найма.

После исследования существующих решений для реализации микросервисной архитектуры было принято решение делать свое, т.к. существующие завязаны на пересборку.
 Решение удалось.

В докладе я расскажу о том, на какие грабли мы наступили, какие архитектурные решения и допущения были приняты, как у нас разрабатываются, общаются между собой, деплоятся и загружаются микросервисы.

После доклада каждый знакомый с JavaScript разработчик сможет реализовать подобную систему микросервисного фронта независимо от используемого фреймворка.

Single page application, толстый клиент
,
Оффлайн и кэширование в локальных хранилищах
,
JavaScript
,
Фронтенд / другое

Другие доклады секции Производительность