Изучение интеграции 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 | 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 в одной среде загружают полный набор развернутых компонентов. Чтобы обеспечить загрузку компонентов во время выполнения только соответствующими приложениями-контейнерами, следует использовать области приложений.