Поделиться через


API микрослужбы, управляемые Dapr

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

Как API микрослужб работают с приложением контейнера

Настройте API микрослужб для среды приложений контейнеров с поддержкой Dapr, компонента Dapr, настроенного для вашего решения, и бокового автомобиля Dapr, вызывающего обмен данными между ними. На следующей схеме показаны основные понятия, используя API pub/sub в качестве примера.

Схема, демонстрирующая паб или вложенный файл Dapr и как она работает в приложениях контейнеров.

Этикетка Параметры 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 загружают заданный компонент во время выполнения.

Поддерживаемые API Dapr, компоненты и средства

Управляемые API

Azure Container Apps предлагает управляемые общедоступные API Dapr (стандартные блоки). Эти API полностью управляются и поддерживаются для использования в рабочих средах.

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

Схема, на которую показаны API Dapr.

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

Совместимые пакеты SDK

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

Язык Версия пакета SDK
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Примечание.

В настоящее время расширения сервера Dapr, субъект и пакеты SDK рабочего процесса несовместимы с приложениями контейнеров Azure. Дополнительные сведения обо всех пакетах пакета SDK Dapr.

Компоненты уровня 1 и уровня 2

Поддерживается подмножество компонентов Dapr. В этом подмножестве компоненты Dapr разбиваются на две категории поддержки: уровень 1 или уровень 2.

  • Компоненты уровня 1: стабильные компоненты, которые получают немедленное исследование в критических сценариях (безопасности или серьезной регрессии). В противном случае корпорация Майкрософт сотрудничает с открытый код для обращения к исправлению или следующему регулярному выпуску.
  • Компоненты уровня 2. Компоненты, которые исследуются по меньшему приоритету, так как они не находятся в стабильном состоянии или находятся в стороннем поставщике.

Компоненты уровня 1

API Компонент Тип
Управление данными о состоянии Azure Cosmos DB
Хранилище BLOB-объектов Azure версии 1
Хранилище таблиц Azure
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Публикация и подписка Очереди служебной шины Azure
Разделы служебной шины Azure
Центры событий Azure
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Привязка Очереди службы хранилища Azure
Очереди служебной шины Azure
Хранилище BLOB-объектов Azure
Центры событий Azure
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Управление секретами Azure Key Vault secretstores.azure.keyvault

Компоненты уровня 2

API Компонент Тип
Управление данными о состоянии PostgreSQL
MySQL и MariaDB
Redis
state.postgresql
state.mysql
state.redis
Публикация и подписка Apache Kafka
Redis: потоки
pubsub.kafka
pubsub.redis
Привязка Сетку событий Azure
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Настройка PostgreSQL
Redis
configuration.postgresql
configuration.redis

Средства

Приложения контейнеров Azure обеспечивают совместимость с средствами Dapr открытый код, такими как пакеты SDK и CLI.

Ограничения

  • Спецификация конфигурации Dapr: любые возможности, которые требуют использования спецификации конфигурации Dapr.
  • Любые заметки на стороне Dapr, не перечисленные в руководстве по включению Dapr
  • Поддержка API и компонентов: в приложениях контейнеров Azure поддерживаются только API-интерфейсы и компоненты Dapr, перечисленные как ga, tier 1 или Tier 2.
  • Напоминания актера: требуется minReplicas 1+ для обеспечения того, чтобы напоминания всегда были активными и срабатывает правильно.
  • Задания: Dapr не поддерживается для заданий.

Следующие шаги