Содержание[Скрывать][Показывать]
- Итак, что такое федерация модулей?
- Почему федерация модулей?
- Основные компоненты федерации модулей
Основные функции федерации модулей+-
- Отличная веб-производительность
- Эффективное развитие
- Способность к самовосстановлению и избыточность
- Эффективная обработка общих зависимостей
- Вместо повторного развертывания потребителей разверните независимый код.
- При запуске импортировать код из других сборок.
- Улучшенный опыт разработчиков при сохранении клиентского опыта
- Микрофронтенды работают монолитно.
- Заключение
Концепция микроинтерфейсов применяет микросервисы к разработке интерфейса.
Идея состоит в том, чтобы разбить приложение или веб-сайт на более мелкие, независимо разработанные части, которые затем соединяются во время выполнения, а не создавать их как единый связный монолит.
Метод позволяет создавать другие компоненты приложения, используя другие технологии и с независимыми командами.
Идея состоит в том, чтобы сократить расходы на обслуживание, связанные с типичным монолитом, путем сегментации разработки таким образом.
Позволяя им сконцентрироваться на определенной области приложения в качестве слаженной команды, это также делает возможными новые формы сотрудничества между разработчиками бэкенда и внешнего интерфейса.
Например, у вас может быть команда, которая отвечает исключительно за возможность поиска или другой аспект ключевого продукта, который имеет решающее значение для бизнеса.
Благодаря федерации модулей у вас достаточно функциональных возможностей для управления рабочим процессом, который микро интерфейс мандаты на подход.
В этом посте будет подробно рассмотрена архитектура федерации модулей, а также ее основные функции и шаблоны приложений.
Итак, что такое федерация модулей?
Дизайн объединения модулей Javascript использует повторно используемые части во многих приложениях.
Это довольно простой жаргон, но я просто сделал так, чтобы казаться беззаботным.
Поскольку мы все знакомы с совместным использованием компонентов в приложении React, федерация модулей эффективно выполняет ту же задачу на практике, за исключением того, что она динамически предоставляет модули приложения для использования другими приложениями.
Федерация модулей стремится преодолеть проблему совместного использования модулей в распределенной системе, предоставляя эти ключевые общие элементы в виде макро- или микрокомпонентов по желанию.
Это достигается путем их удаления из ваших приложений и рабочего процесса сборки.
Почему федерация модулей?
Вот некоторые факторы, с которыми федерация модулей может легко справиться:
- Внешние файлы и библиотеки DLL (библиотеки динамической компоновки) — это все, что у нас иногда было для совместного использования функций между приложениями. Все это сделало масштабирование совместного использования кода чрезвычайно сложной задачей.
- НПМ вялый.
- Когда две отдельные программы имеют общий код, они должны быть динамичными и гибкими.
Чтобы автономные приложения находились полностью в своем собственном репозитории, развертывались отдельно и работали как свои собственные независимые SPA, была создана федерация модулей.
Основные компоненты федерации модулей
Прежде чем погрузиться глубже, важно кратко обсудить несколько новых концепций, которые привносит федерация модулей.
- Хост: когда страница загружается, изначально инициализированная сборка или модуль называется хостом. Поставщика можно рассматривать как хост.
- Удаленный: удаленный — это другая конструкция, которая использует часть хоста. Их также называют клиентами.
- Двунаправленный хост: сборка Webpack, которая функционирует как удаленный узел, потребляемый другими узлами, и как узел, потребляющий удаленные узлы.
- Федерация поставщиков: включает декларативное совместное использование зависимостей модулей npm во время выполнения для хоста или удаленного устройства, независимо от места, из которого они загружаются. Таким образом решается одна из основных проблем производительности микроинтерфейсов.
Шаблоны федеративного приложения
Система вечнозеленого дизайна
Одной из самых основных форм федеративных приложений является «вечнозеленый пульт», который представляет собой общий пульт, такой как «Система проектирования» или «Библиотека компонентов», который независимо распространяется и обновляется для всех пользователей.
Если каждой команде разработчиков не нужно тратить время на исправления, это может быть полезно для обеспечения того, чтобы все онлайн-сайты соответствовали самой последней корпоративной идентичности.
Чтобы спроектировать и внедрить ограничения и процедуры, необходимые для обеспечения безопасных непрерывных обновлений, это может быть полезно для компаний, чтобы начать рассмотрение архитектуры федеративных приложений.
Ниже приведены некоторые варианты использования, в которых могут подойти независимо развернутые общие удаленные устройства:
- Дизайн-системы
- Оболочки приложений
- Библиотеки компонентов
- Потребители
- Общие наборы инструментов
- Альтернативные модели распространения виджетов, используемые внутренними или внешними
Совместное использование модуля Multi-SPA
Повторно используйте уже экспортированные функции, например компоненты, в различных автономных одностраничных приложениях. Преимущества включают в себя:
- Потребители получают автоматические обновления
- Экспертиза домена остается в команде, которая отвечает за него.
- Упрощает процедуру развертывания, поскольку отдельные выпуски модулей не требуются.
Федерация, управляемая оболочкой
Управляемая оболочкой федерация включает в себя:
- При создании новой версии продукта команда продукта не ждет, пока команда проверки завершит свою работу.
- При переключении пультов перезагрузки страницы нет.
- При необходимости Shell предлагает медленную удаленную загрузку и маршрутизацию (на верхнем уровне).
- Маршрутизация между удаленными устройствами стала возможной благодаря федерации поставщиков, что позволяет повторно использовать часто используемые пакеты npm.
- Shell предлагает фреймворк и другие распространенные зависимости, которые повторно используются лениво загружаемыми пультами.
Федерация с несколькими оболочками
Подобно федерации, управляемой оболочкой, описанной выше, но с использованием других оболочек.
Это содержит:
- несколько снарядов
- Белая маркировка
- Не все удаленные устройства требуются Shell B или имеют независимые реализации.
Основные функции федерации модулей
Отличная веб-производительность
Проблема с обычным составом модуля NPM заключается в том, что по мере увеличения числа зависимостей размер приложения обычно увеличивается.
Чтобы избежать загрузки пакетов при загрузке приложения и загружать их только при необходимости, Module Federation предлагает вам возможность ленивой загрузки пакетов.
Это предотвращает необходимость загрузки модулей до того, как они действительно потребуются, что повышает скорость работы сайта.
Эффективное развитие
Каждый проект может создаваться и доставляться изолированно и может выполняться различными командами, поскольку федерация модулей побуждает вас организовывать ваше приложение в отдельные проекты, чтобы вы могли создавать и развертывать их по отдельности (и, следовательно, параллельно).
Способность к самовосстановлению и избыточность
Общие зависимости позволяют Module Federation отслеживать все зависимости вашей программы в одном месте.
Таким образом, даже когда приложение не объявляет зависимость или возникают проблемы с сетью, оно все равно знает, что ему нужно, и может обрабатывать загрузку по мере необходимости.
Эффективная обработка общих зависимостей
Кроме того, Module Federation предлагает превосходное управление зависимостями, эффективно разрешая требования поставщиков и третьих сторон, чтобы ваше приложение никогда не загружало более одной версии библиотеки.
Вместо повторного развертывания потребителей разверните независимый код.
Разработчик очень заинтересован в вечнозеленой функциональности. После изменения открытых зависимых функций переустанавливать потребителей больше не нужно.
Я должен признать, что это очень мощная функция сама по себе, которую необходимо тщательно изучить, чтобы предотвратить неожиданные результаты.
При запуске импортировать код из других сборок.
При принятии модели пакета NPM мы могли бы рассматривать приложения, использующие федерацию модулей, сродни API, а не совместно использовать код и думать о «библиотеке».
Точно так же, как они могут получать функциональные возможности от других приложений, веб-приложения теперь могут предоставлять функциональные возможности другим приложениям.
Улучшенный опыт разработчиков при сохранении клиентского опыта
Любые Разработчик JavaScript вам будет вполне комфортно с Module Federation, потому что это подключаемый модуль Webpack, доступный начиная с версии Webpack 5.
Это на самом деле довольно сильно и интригующе, если мы немного подумаем.
Используя сторонние загрузчики Webpack, рассмотрите все компоненты, которые Webpack пакеты, включая скрипты, ресурсы, стили, изображения, уценки и многое другое.
Используя Module Federation, все это можно использовать совместно и объединять.
Микрофронтенды работают монолитно.
Добавить общие функции в ваше приложение довольно просто; просто импортируйте пакет как обычно или используйте синхронную загрузку.
В качестве альтернативы асинхронная загрузка может использоваться только для загрузки зависимостей при необходимости с использованием отложенной загрузки.
Заключение
В этом посте мы обсудили Module Federation как фантастический выбор для разработки вашего микроинтерфейсного приложения.
Разрешение приложениям обмениваться функциями и использовать их во время выполнения способствует масштабируемости, позволяя различным командам работать над независимыми приложениями.
Когда общая функциональность изменится, вам не нужно будет проектировать и развертывать своих потребителей, поскольку они поддерживают постоянную функциональность.
Ваша программа будет функционировать как монолит после того, как она будет настроена, и это просто фантастика.
Совместно используемые зависимости используются для уменьшения размера приложений. Поскольку многие разработчики уже знакомы со средой Webpack, опыт разработчиков превосходен.
Оставьте комментарий