Partager via


API de microservices avec Dapr

Azure Container Apps fournit des API alimentés par Distributed Application Runtime (Dapr) qui aident à écrire et implémenter des microservices simples, portables, résilients et sécurisés. Dapr fonctionne conjointement avec Azure Container Apps en tant que couche d’abstraction pour fournir une plateforme évolutive et nécessitant peu de maintenance. Azure Container Apps offre une sélection d’API, de composants et de fonctionnalités Dapr complètement managés, spécifiquement conçus pour des scénarios de microservices. Activez et configurez simplement Dapr comme d’habitude dans votre environnement d’application conteneur.

Remarque

Recherchez les mises à jour et les annonces de publication pour Dapr dans Azure Container Apps dans GitHub.

Fonctionnement des API de microservices avec votre application conteneur

Configurez les API de microservices pour votre environnement d’applications conteneur avec une application conteneur compatible avec Dapr, un composant Dapr configuré pour votre solution et un side-car Dapr invoquant la communication entre eux. Le diagramme suivant illustre ces concepts centraux, en utilisant l’API d’abonnement/de publication comme exemple.

Diagramme illustrant la fonction pub/sub de Dapr et son fonctionnement dans Container Apps.

Étiquette Paramètres Dapr Descriptif
1 Container Apps avec Dapr activé Dapr est activé au niveau de l'application conteneur par la configuration d’un ensemble d’arguments Dapr. Ces valeurs s’appliquent à toutes les révisions d’une application conteneur donnée lors de l’exécution en mode de révisions multiples.
2 Dapr Les API Dapr complètement managées sont exposées à chaque application conteneur via un side-car Dapr. Les API Dapr peuvent être appelées à partir de votre application conteneur via HTTP ou gRPC. Le side-car Dapr s’exécute sur le port HTTP 3500 et le port gRPC 50001.
3 Configuration des composants Dapr Dapr utilise une conception modulaire où la fonctionnalité est fournie en tant que composant. Les composants Dapr peuvent être partagés par plusieurs applications conteneur. Les identificateurs d’application Dapr fournis dans le tableau d’étendues dictent les applications conteneur compatibles dapr qui chargeront un composant donné au moment de l’exécution.

Contrôle de version

Au lieu de suivre une planification de mise en production fixe, Dapr dans Azure Container Apps publie de nouvelles fonctionnalités en fonction de la hiérarchisation et de la stabilité des fichiers binaires Dapr. En savoir plus sur les versions de Dapr dans Azure Container Apps.

Les versions Dapr dans Azure Container Apps comprennent :

  • Un préfixe de version sémantique, tel que 1.13.6, qui indique la compatibilité avec les API de version du runtime Dapr OSS correspondantes et les outils associés tels que les kits SDK, l’interface CLI, etc.
  • Un suffixe -msft.<number>, qui indique l’incorporation de personnalisations spécifiques à Azure pour améliorer la sécurité et la préparation à la production.

Le format de version complet pour Dapr dans Azure Container Apps peut se présenter comme ceci : 1.13.6-msft.1.

Remarque

Il peut arriver que le <number> dans le suffixe ne s’incrémente pas de façon séquentielle. Par exemple, la version 1.13.6-msft.3 peut ignorer 1.13.6-msft.2.

Outils, composants et API Dapr pris en charge

API gérées

Azure Container Apps propose des API Dapr managées en disponibilité générale (API de bloc de construction et API opérationnelles). Ces API sont entièrement managées et prises en charge pour une utilisation dans des environnements de production.

Pour en savoir plus sur l’utilisation des fonctionnalités et API Dapr alpha, consultez la FAQ sur Dapr.

Diagramme montrant des API Dapr.

API de bloc de construction

API de bloc de construction Statut Descriptif
Appel de service à service GA Découvrez les services et effectuez des appels de service à service fiables et directs avec l’authentification et le chiffrement mTLS automatiques. Consultez les limitations connues pour l’appel de service Dapr dans Azure Container Apps.
Gestion de l’état GA Fournit des fonctionnalités de gestion d’état pour les transactions et les opérations CRUD.
Publication/abonnement GA Permet aux applications conteneur d’éditeur et d’abonné d’interagir via un répartiteur de messages intermédiaire. Vous pouvez également créer des abonnements déclaratifs à une rubrique à l’aide d’un fichier JSON de composant externe. En savoir plus sur l’API Abonnements déclaratifs pub/sub.
Liaisons GA Déclencher vos applications en fonction des événements
Acteurs GA Les acteurs Dapr sont basés sur des messages, monothreads, les unités de travail sont conçues pour effectuer une mise à l’échelle rapide. Par exemple, dans des situations de charge de travail volumineuses en rafale.
Secrets GA Accédez aux secrets à partir de votre code d’application ou référencez des valeurs sécurisées dans vos composants Dapr.
Configuration GA Récupérez et abonnez-vous aux éléments de configuration d’application pour les magasins de configuration pris en charge.

API opérationnelles

API opérationnelle Statut Descriptif
Intégrité GA Sondes de contrôle d’intégrité qui surveillent la préparation (readiness) ou l’activité (liveness) de Dapr et la préparation à l’initialisation des SDK. L’API d’intégrité est uniquement disponible pour HTTP.
Les vérifications d’intégrité du sidecar Dapr sont automatiquement configurées lorsque Dapr est activé sur votre application conteneur.
Metadata GA Retourne des informations sur le sidecar, ce qui permet la découverte du runtime.

SDK compatibles

Les derniers packages de SDK client de Dapr sont compatibles avec Azure Container Apps. Vous pouvez utiliser des SDK de Dapr avec l’une des API d’exécution GA Dapr v1.12 prises en charge.

Remarque

Actuellement, les packages de SDK de flux de travail, acteurs et extensions de serveur Dapr ne sont pas compatibles avec Azure Container Apps. En savoir plus sur tous les packages de SDK Dapr.

Composants Dapr

Composants de niveau 1 vs. niveau 2

Un sous-ensemble de composants Dapr est pris en charge. Dans ce sous-ensemble, les composants Dapr sont divisés en deux catégories de prise en charge : Niveau 1 ou Niveau 2.

  • Composants de niveau 1 : composants stables qui reçoivent une investigation immédiate dans les scénarios critiques (sécurité ou régression grave). Sinon, Microsoft collabore avec des partenaires open source pour traiter le problème dans un correctif logiciel ou la prochaine version régulière.
  • Composants de niveau 2 : composants qui sont examinés avec une priorité moindre, car ils ne sont pas dans un état stable ou sont liés à un fournisseur tiers.
Composants de niveau 1
API (Interface de Programmation d'Applications) Composant Type
Gestion de l'état Base de données Azure Cosmos DB
Stockage Blob Azure v1
Stockage Table Azure
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publish & subscribe (publication-abonnement) files d’attente Azure Service Bus
Rubriques Azure Service Bus
Hubs d'événements Azure
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Liaison files d’attente de stockage Azure
files d’attente Azure Service Bus
Stockage Blob Azure
Hubs d'événements Azure
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Gestion des secrets Azure Key Vault secretstores.azure.keyvault
Composants de niveau 2
API (Interface de Programmation d'Applications) Composant Type
Gestion de l'état PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publish & subscribe (publication-abonnement) Apache Kafka
Flux Redis
pubsub.kafka
pubsub.redis
Liaison Azure Event Grid
Base de données Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Paramétrage PostgreSQL
Redis
configuration.postgresql
configuration.redis

En savoir plus sur l’utilisation des composants Dapr pris en charge dans Azure Container Apps.

Outillage

Azure Container Apps garantit la compatibilité avec des outils open source Dapr, tels que des SDK et l’interface CLI.

Limites

  • Spécification de configuration Dapr : toutes les fonctionnalités qui nécessitent l’utilisation de la spécification de configuration Dapr.
  • Toutes les annotations side-car Dapr non répertoriées dans le guide d’activation Dapr
  • Prise en charge des composants et des API : seuls les composants et API Dapr répertoriés en tant que Disponibilité générale, Niveau 1 ou Niveau 2 dans cet article sont pris en charge dans Azure Container Apps.
  • Rappels d’acteur : exigez un minReplicas de 1+ pour garantir que les rappels sont toujours actifs et correctement déclenchés.
  • Travaux : Dapr n’est pas pris en charge pour les travaux.

Étapes suivantes