Бөлісу құралы:


Знакомство с рабочими нагрузками

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

Архитектура рабочей нагрузки Fabric

Ниже приведены некоторые основные аспекты архитектуры рабочей нагрузки Fabric:

  • Он обрабатывает обработку, хранение и управление данными. Он проверяет маркеры идентификатора Microsoft Entra перед их обработкой и взаимодействует с внешними службами Azure, такими как Lakehouse.

  • Интерфейс рабочей нагрузки (FE) предлагает пользовательский интерфейс для создания заданий, разработки, управления и выполнения.

  • Взаимодействие пользователей с помощью FE инициирует запросы к BE напрямую или косвенно через серверную часть Fabric (Fabric BE).

Более подробные схемы, описывающие взаимодействие и проверку подлинности различных компонентов, см . в обзоре проверки подлинности и авторизации серверной части и схемах обзора проверки подлинности.

Интерфейсная часть (FE)

Интерфейс служит основой пользовательского интерфейса (UX) и поведением, работающим в iframe на портале Fabric. Он предоставляет партнеру Fabric определенный пользовательский интерфейс, включая редактор элементов. Пакет SDK клиента расширения предоставляет необходимые интерфейсы, API и функции начальной загрузки для преобразования обычного веб-приложения в веб-приложение Micro Frontend, которое работает легко на портале Fabric.

Серверная часть (BE)

Серверная часть — это powerhouse для обработки данных и хранилища метаданных. Она использует операции CRUD для создания элементов рабочей нагрузки и управления ими вместе с метаданными и выполнения заданий для заполнения данных в хранилище. Мост связи между интерфейсом и серверной частью устанавливается через общедоступные API.

Рабочие нагрузки могут выполняться в двух средах: локальном и облачном. В локальной среде (devmode) рабочая нагрузка выполняется на компьютере разработчика с вызовами API, управляемыми служебной программой DevGateway. Эта программа также обрабатывает регистрацию рабочей нагрузки в Fabric. В облачном режиме рабочая нагрузка выполняется в партнерских службах, при этом вызовы API выполняются непосредственно в конечную точку HTTPS.

Среда разработки

  • Пакет рабочей нагрузки режима разработки. При создании серверного решения в Visual Studio используйте конфигурацию сборки отладки для создания пакета NUGet BE, который можно загрузить в клиент Fabric с помощью приложения DevGateway.

Схема архитектуры режима разработчика.

  • Пакет рабочей нагрузки в облачном режиме. При создании решения BE в Visual Studio используйте конфигурацию сборки выпуска для создания автономного пакета рабочей нагрузки (BE и FE). Этот пакет можно отправить непосредственно в клиент.

Схема архитектуры облачного режима.

Структура пакета NuGet рабочей нагрузки

Рабочая нагрузка упаковается в виде пакета NuGet, объединяющего серверные и интерфейсные компоненты. Структура соответствует определенным соглашениям об именовании и применяется Fabric для согласованности в сценариях отправки. Пакет NuGet, предназначенный для представления рабочих нагрузок, структурирован для включения внутренних и интерфейсных компонентов.

Структура серверной части

Внутренний сегмент состоит из .xml файлов, определяющих рабочую нагрузку и связанные с ней элементы, которые необходимы для регистрации в Fabric.

Ключевые компоненты
  • WorkloadManifest.xml — файл конфигурации рабочей нагрузки, необходимый для проверки подлинности Fabric.
  • Item1.xml, Item2.xml... — манифесты для отдельных элементов с гибким именованием в формате XML.

Структура внешнего интерфейса

В разделе внешнего интерфейса содержатся .json файлы, подробные сведения о продукте и элементах внешнего интерфейса, а также каталог "активы" для значков.

Ключевые компоненты
  • Product.json — Основной манифест внешнего интерфейса продукта, который должен быть назван именно для проверки Структуры.
  • Item1.json, Item2.json... — манифесты для отдельных элементов с гибким именованием в формате JSON. Каждый json соответствует внутреннему манифесту (например, Item1.json Item1.xml).
  • assetsпапка — сохраняет все значкиicon1.jpg, ... icon2.pngиспользуемые интерфейсом.

Обязательное соответствие структуры

Структура, включая определенные имена вложенных папок (BE, FE, assets), является обязательной и применяется Fabric для всех сценариев отправки, включая тестовые пакеты и пакеты разработки. Структура указана в файлах, найденных .nuspec в репозитории в каталоге Backend/src/Packages/manifest .

Ограничения

Следующие ограничения применяются ко всем типам пакетов NuGet как в режиме разработки, так и в облачном режиме:

  • FE Разрешены только BE вложенные папки. Любые другие вложенные папки или файлы, расположенные вне этих папок, приводят к ошибке отправки.
  • Папка BE принимает только .xml файлы. Любой другой тип файла приводит к ошибке отправки.
  • Допускается не более 10 файлов элементов, что означает, что BE папка может содержать один WorkloadManifest.xml и до 10 Item.xml файлов. Наличие более 10 файлов элементов в папке приводит к ошибке отправки.
  • Вложенная Assets папка должна находиться в папке FE . Он может содержать до 15 файлов, при этом каждый файл не превышает 1,5 МБ.
  • В подпапке Assets разрешены только следующие типы файлов: .jpeg, . .jpg.png
  • Папка FE может содержать не более 10 файлов элементов плюс один product.json файл.
  • Каждый ресурс в папке Assets должен ссылаться в файлах элементов. Любой ресурс, на который ссылается файл элемента, отсутствующий в папке Assets , приведет к ошибке отправки.
  • Имена файлов для элементов должны быть уникальными. Повторяющиеся имена файлов приводят к ошибке отправки.
  • Имена файлов должны содержать буквенно-цифровые (английский) символы или дефисы только и не могут превышать длину 32 символов. Использование других символов или превышение этой длины приводит к ошибке отправки.
  • Общий размер пакета не должен превышать 20 МБ.
  • Обратитесь к манифесту рабочей нагрузки для конкретных ограничений манифеста.

Локальный режим разработки (devmode)

Серверная часть рабочей нагрузки (BE) работает на компьютере разработчика. Вызовы API рабочей нагрузки передаются через Azure Relay с помощью рабочей нагрузки стороны канала Ретрансляции Azure, управляемой специализированной служебной программой командной строки DevGateway. Вызовы API управления рабочей нагрузкой отправляются непосредственно из рабочей нагрузки в Fabric, обходя канал Azure Relay. Служебная программа DevGateway также контролирует регистрацию локального экземпляра разработки рабочей нагрузки в Fabric в контексте определенной рабочей области. После завершения служебной программы DevGateway регистрация экземпляра рабочей нагрузки автоматически отменяется. Дополнительные сведения см . в руководстве по реализации back-end.

Схема DevMode BE

Схема режима разработки — архитектура схемы.

Режим разработки облака (облачный режим)

Серверная часть рабочей нагрузки (BE) работает в службах партнера. Вызовы API рабочей нагрузки выполняются непосредственно в конечную точку HTTPS, как указано в манифесте рабочей нагрузки. В этом сценарии программа DevGateway не требуется. Регистрация рабочей нагрузки в Fabric выполняется путем отправки пакета NuGet рабочей нагрузки в Fabric и последующей активации рабочей нагрузки для клиента. Дополнительные сведения см. в статье "Управление рабочей нагрузкой в Fabric".

Схема CloudMode BE

Схема архитектуры схемы BE в облачном режиме.