Изучение интеграции Dapr с приложениями контейнеров Azure

Завершено

Распределенная среда выполнения приложений (Dapr) — это набор добавочных функций, упрощающих разработку распределенных приложений на основе микрослужб. Dapr предоставляет возможности для включения взаимодействия приложений через обмен сообщениями через паб/вложенные или надежные и безопасные вызовы между службами.

Dapr — это проект открытый код, Cloud Native Computing Foundation (CNCF). CNCF является частью Linux Foundation и обеспечивает поддержку, надзор и направление для быстрорастущих облачных проектов. В качестве альтернативы развертыванию и управлению проектом Dapr OSS самостоятельно, платформа контейнерных приложений:

  • Предоставляет управляемую и поддерживаемую интеграцию Dapr
  • Без проблем обрабатывает обновления версий Dapr
  • Предоставляет упрощенную модель взаимодействия Dapr для повышения производительности разработчика

API Dapr

Снимок экрана: декоративный.

Dapr API Description
Вызов между службами Обнаружение служб и надежное выполнение прямых вызовов между ними с автоматическим использованием шифрования и проверки подлинности mTLS.
Управление данными о состоянии Предоставляет возможности управления состоянием для транзакций и операций CRUD.
Публикация и подписка Позволяет контейнерным приложениям издателя и подписчика взаимодействовать через брокер сообщений.
Bindings Активация приложений на основе событий
Актеры Субъекты Dapr — это управляемые сообщениями однопоточные единицы работы, предназначенные для быстрого масштабирования. Например, в ситуациях с высокой нагрузкой.
Наблюдаемость Отправка сведений о трассировке в серверную часть Application Insights.
Секреты Доступ к секретам из кода приложения или ссылки на безопасные значения в компонентах Dapr.
Конфигурация Получение и подписка на элементы конфигурации приложения для поддерживаемых хранилищ конфигураций.

Примечание.

В таблице рассматриваются стабильные API Dapr. Дополнительные сведения об использовании альфа-API и функций см . в ограничениях.

Основные понятия Dapr

Следующий пример, основанный на API pub/sub, используется для иллюстрации основных понятий, связанных с Dapr в приложениях контейнеров Azure.

Схема, показывющая паб Dapr или вложенный P I и как она работает в приложениях контейнеров.

Этикетка Параметры Dapr Description
1 Контейнеры приложений с поддержкой Dapr Dapr включен на уровне приложения контейнера, настроив набор аргументов Dapr. Эти значения применяются ко всем редакциям заданного приложения-контейнера при выполнении в режиме нескольких редакций.
2 Dapr Полностью управляемые API Dapr предоставляются каждому приложению контейнера через боковую панель Dapr. API Dapr можно вызывать из приложения контейнера через HTTP или gRPC. Боковая машина Dapr работает на порте HTTP 3500 и gRPC 50001.
3 Конфигурация компонента Dapr Dapr использует модульную конструкцию, в которой функциональные возможности предоставляются в качестве компонента. Компоненты Dapr можно совместно использовать для нескольких приложений контейнеров. Идентификаторы приложений Dapr, предоставленные в массиве областей, определяют, какие приложения контейнеров с поддержкой dapr загружают заданный компонент во время выполнения.

Включение Dapr

Dapr можно настроить с помощью различных аргументов и заметок на основе контекста среды выполнения. Приложения контейнеров Azure предоставляют три канала, с помощью которых можно настроить Dapr:

  • Интерфейс командной строки для приложений контейнеров
  • Шаблоны инфраструктуры как кода (IaC), как в шаблонах Bicep или Azure Resource Manager (ARM)
  • Портал Azure

Компоненты и области Dapr

Dapr использует модульную конструкцию, в которой функциональные возможности предоставляются в качестве компонента. Использование компонентов Dapr является необязательным и диктуется исключительно потребностями приложения.

Компоненты Dapr в приложениях-контейнерах — это ресурсы уровня среды, которые:

  • Может предоставить подключаемую модель абстракции для подключения к поддержке внешних служб.
  • Может быть предоставлен общий доступ между приложениями-контейнерами или областью действия для определенных приложений контейнеров.
  • Можно использовать секреты Dapr для безопасного получения метаданных конфигурации.

По умолчанию все приложения контейнеров с поддержкой Dapr в одной среде загружают полный набор развернутых компонентов. Чтобы обеспечить загрузку компонентов во время выполнения только соответствующими приложениями-контейнерами, следует использовать области приложений.