Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приложения контейнеров Azure предоставляют API, управляемые распределенной средой выполнения приложений (Dapr), которые помогают создавать и реализовывать простые, переносимые, устойчивые и защищенные микрослужбы. Dapr работает вместе с приложениями контейнеров Azure в качестве уровня абстракции, чтобы обеспечить платформу с минимальными усилиями по поддержке и высокой масштабируемостью.
Приложения контейнеров Azure предлагают выбор полностью управляемых API-интерфейсов Dapr, компонентов и функций, предназначенных специально для сценариев микрослужб. Просто включите и настройте Dapr как обычно в среде приложения контейнера.
Примечание.
Найдите информацию об обновлениях и объявлениях о выпуске для Dapr в контейнерных приложениях Azure в GitHub.
Как API микрослужб работают с приложением контейнера
Настройте API микрослужб для среды приложений контейнеров с приложением в контейнере, поддерживающим Dapr, компонентом Dapr, настроенным для вашего решения, и сайдкар-процессом Dapr, вызывающим обмен данными между ними. На следующей схеме показаны основные понятия, используя API pub/sub в качестве примера.
| Этикетка | Параметры Dapr | Описание |
|---|---|---|
| 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 в Azure Container Apps выпускает новые функции и функциональные возможности на основе приоритетов и стабильности двоичных файлов Dapr. Дополнительные сведения о выпусках Dapr в приложениях контейнеров Azure см. в статье "Как часто выпускаются версии Dapr".
Версии Dapr в приложениях контейнеров Azure включают:
- Префикс семантического управления версиями, например
1.13.6, который обозначает совместимость с соответствующими API-интерфейсами среды выполнения DAPR OSS и связанными инструментами, такими как пакеты SDK и CLI. - Суффикс
-msft.<number>, который обозначает включение настроек, относящихся к Azure, для повышения безопасности и готовности к рабочей среде.
Полный формат версии dapr в приложениях контейнеров Azure может выглядеть примерно так 1.13.6-msft.1.
Примечание.
Суффикс <number> может не всегда увеличиваться последовательно. Например, версия 1.13.6-msft.3 может пропустить 1.13.6-msft.2.
Поддерживаемые API Dapr, компоненты и инструменты
Управляемые API
Azure Container Apps предлагает управляемые API Dapr, общедоступные в целом (API строительных блоков и операционные API). Эти API полностью управляются и поддерживаются для использования в рабочих средах.
Чтобы узнать больше об использовании API и функций альфа-версии Dapr, см. раздел часто задаваемых вопросов о Dapr.
Базовые API
| API базовых компонентов | Состояние | Описание |
|---|---|---|
| Взаимодействие между службами | Общедоступная версия | Обнаружение служб и надежное выполнение прямых вызовов между ними с автоматическим использованием шифрования и проверки подлинности mTLS. Ознакомьтесь с известными ограничениями для вызова службы Dapr в приложениях контейнеров Azure. |
| Управление состоянием | Общедоступная версия | Предоставляет возможности управления состоянием для транзакций и операций CRUD. |
| Публикация и подписка | Общедоступная версия | Позволяет контейнерным приложениям издателя и подписчика взаимодействовать через брокер сообщений. Вы также можете создать декларативные подписки в раздел с помощью JSON-файла внешнего компонента. Дополнительные сведения о декларативном API pub/sub. |
| Привязки | Общедоступная версия | Активируйте приложения на основе событий. |
| Актеры | Общедоступная версия (GA) | Субъекты Dapr — это управляемые сообщениями однопоточные единицы работы, предназначенные для быстрого масштабирования. Например, в ситуациях с нагрузками, характеризующимися резкими всплесками. |
| Секреты | Общедоступная версия | Получите доступ к секретным данным из кода вашего приложения или используйте безопасные значения в компонентах Dapr. |
| Конфигурация | Общедоступная версия | Получение и подписка на элементы конфигурации приложения для поддерживаемых конфигурационных хранилищ. |
Операционные API
| Операционный API | Состояние | Описание |
|---|---|---|
| Здоровье | Общедоступная версия | Пробы проверки работоспособности, которые отслеживают готовность или работоспособность Dapr и готовность к инициализации пакетов SDK. API состояния доступен только через HTTP. Проверки работоспособности sidecar Dapr автоматически настраиваются при включении Dapr в контейнерном приложении. |
| Метаданные | Общедоступная версия | Возвращает информацию о sidecar, что позволяет обнаруживать его во время выполнения. |
Совместимые пакеты SDK
Последние пакеты пакета SDK для клиента Dapr совместимы с приложениями контейнеров Azure. Пакеты SDK dapr можно использовать с любым из поддерживаемых API среды выполнения DAPR версии 1.12.
Примечание.
В настоящее время расширения сервера Dapr, актер и SDK-решения для рабочих процессов несовместимы с контейнерными приложениями Azure. Дополнительные сведения обо всех пакетах Dapr SDK см. в разделе SDKs.
Компоненты Dapr
Компоненты уровня 1 и уровня 2
Поддерживается лишь подмножество компонентов Dapr. В этом подмножестве компоненты Dapr разбиваются на две категории поддержки: уровень 1 или уровень 2.
- Компоненты уровня 1: стабильные компоненты, которые получают немедленное исследование в критических сценариях (безопасности или серьезной регрессии). В противном случае Microsoft сотрудничает с сообществом открытого исходного кода для решения проблем в виде срочного исправления или в следующем регулярном выпуске.
- Компоненты уровня 2. Компоненты, которые исследуются по меньшему приоритету, так как они не находятся в стабильном состоянии или находятся в стороннем поставщике.
Компоненты уровня 1
| API (Интерфейс программирования приложений) | Компонент | Тип |
|---|---|---|
| Управление состоянием | Azure Cosmos DB (облачная база данных) Хранилище BLOB-объектов Azure версии 1 Хранилище таблиц Azure Microsoft SQL Server |
state.azure.cosmosdbstate.azure.blobstoragestate.azure.tablestoragestate.sqlserver |
| Публикация и подписка | Очереди шины обслуживания Azure Разделы служебной шины Azure Центры событий Azure |
pubsub.azure.servicebus.queuespubsub.azure.servicebus.topicspubsub.azure.eventhubs |
| Привязка | Очереди службы хранилища Azure Очереди Сервисной Шины Azure Хранилище BLOB-объектов Azure Центры событий Azure |
bindings.azure.storagequeuesbindings.azure.servicebusqueuesbindings.azure.blobstoragebindings.azure.eventhubs |
| Управление секретами | Azure Key Vault | secretstores.azure.keyvault |
Компоненты уровня 2
| API (Интерфейс программирования приложений) | Компонент | Тип |
|---|---|---|
| Управление состоянием | PostgreSQL MySQL и MariaDB Редис |
state.postgresqlstate.mysqlstate.redis |
| Публикация и подписка | Apache Kafka Redis Streams |
pubsub.kafkapubsub.redis |
| Привязка | Сетку событий Azure Azure Cosmos DB (облачная база данных) Apache Kafka PostgreSQL Редис Крон |
bindings.azure.eventgridbindings.azure.cosmosdbbindings.kafkabindings.postgresqlbindings.redisbindings.cron |
| Настройка | PostgreSQL Редис |
configuration.postgresqlconfiguration.redis |
Дополнительные сведения об использовании поддерживаемых компонентов Dapr см. в разделе " Компоненты Dapr" в приложениях контейнеров Azure.
Инструменты
Azure Container Apps обеспечивают совместимость с инструментами с открытым исходным кодом Dapr, такими как SDK и CLI.
Ограничения
- Спецификация конфигурации Dapr: любые возможности, которые требуют использования спецификации конфигурации Dapr.
- Любые аннотации sidecar Dapr, не перечисленные в руководстве по активации Dapr.
- API и компоненты поддерживаются: В Azure Container Apps поддерживаются только API Dapr и компоненты, перечисленные как GA, уровень 1 или уровень 2.
- Напоминания актера: требуется minReplicas 1+ для обеспечения того, чтобы напоминания всегда были активными и срабатывает правильно.
- Задания: Dapr не поддерживается для заданий.
Связанный контент
- Развертывание приложения Dapr с помощью:
- Включение Dapr в существующем приложении-контейнере