API de microservices avec Dapr
Azure Container Apps fournit des API avec Distributed Application Runtime (Dapr) qui vous 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 à faible maintenance et évolutive. Azure Container Apps offre une sélection d’API, de composants et de fonctionnalités Dapr complètement managés, conçus spécifiquement pour des scénarios de microservices. Activez et configurez Dapr comme toujours dans votre environnement d’application conteneur.
Fonctionnement des API de microservices avec votre application conteneur
Configurez les API de microservices pour l’environnement de votre applications conteneur avec une application conteneur avec Dapr, un composant Dapr configuré pour votre solution et un side-car Dapr appelant la communication entre eux. Le diagramme suivant montre ces principaux concepts en utilisant l’API d’abonnement/de publication comme exemple.
Étiquette | Paramètres Dapr | Description |
---|---|---|
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. |
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 (blocs de construction). Ces API sont complètement managées et prises en charge pour une utilisation dans des environnements de production.
Si vous souhaitez découvrir plus d’informations sur l’utilisation des fonctionnalités et API Dapr alpha, consultez le FAQ de Dapr.
API | Statut | Description |
---|---|---|
Appel de service à service | GA | Découvrez les services et effectuez des appels fiables et directs de service à service avec authentification et chiffrement automatiques mTLS. Consultez les limitations connues pour l’appel de service Dapr dans Azure Container Apps. |
Gestion de l’état | GA | Fournit des capacités de gestion d'état pour les transactions et les opérations CRUD. |
Publication/abonnement | GA | Permet aux applications de conteneur de l'éditeur et de l'abonné de communiquer entre elles via un courtier de messages intermédiaire. Vous pouvez également créer des abonnements déclaratifs à une rubrique à l’aide d’un fichier JSON de composant externe. Découvrez plus en détail l’API pub/sub déclarative. |
Liaisons | GA | Déclencher vos applications en fonction des événements |
Acteurs | GA | Les intervenants Dapr sont pilotés par des messages, monothreads, unités de travail conçus pour effectuer une mise à l’échelle rapide. Par exemple, dans des situations de charge de travail volumineuses en rafale. |
Observabilité | GA | Envoyez des informations de suivi à un backend Application Insights. |
Secrets | GA | Accédez aux secrets 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. |
Kit de développement logiciel (SDK) compatibles
Les derniers packages de Kit de développement logiciel (SDK) client de Dapr sont compatibles avec Azure Container Apps. Vous pouvez utiliser l’une des API Dapr en disponibilité générale et prises en charge avec les versions de Kit de développement logiciel (SDK) client Dapr suivantes :
Langage | Version du 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 |
Remarque
Actuellement, les packages de Kit de développement logiciel (SDK) de flux de travail, intervenants et extensions de serveur Dapr ne sont pas compatibles avec Azure Container Apps. Découvrez plus d’informations sur tous les packages de Kit de développement logiciel (SDK) Dapr.
Composants de niveau 1 et de 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 (de sécurité ou de régression grave). Dans le cas contraire, Microsoft collabore avec open source pour s’adresser à un correctif logiciel ou à la prochaine version régulière.
- Composants de niveau 2 : composants examinés sur une priorité moindre, car ils ne sont pas dans un état stable ou sont avec un fournisseur tiers.
Composants de niveau 1
API | Composant | Type |
---|---|---|
Gestion de l’état | Azure Cosmos DB Stockage Blob Azure v1 Azure Table Storage Microsoft SQL Server |
state.azure.cosmosdb state.azure.blobstorage state.azure.tablestorage state.sqlserver |
Publication et abonnement | files d’attente Azure Service Bus Rubriques Azure Service Bus Azure Event Hubs |
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 Azure Event Hubs |
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 | Composant | Type |
---|---|---|
Gestion de l’état | PostgreSQL MySQL et MariaDB Redis |
state.postgresql state.mysql state.redis |
Publication et abonnement | Apache Kafka Flux Redis |
pubsub.kafka pubsub.redis |
Liaison | Azure Event Grid Azure Cosmos DB Apache Kafka PostgreSQL Redis Cron |
bindings.azure.eventgrid bindings.azure.cosmosdb bindings.kafka bindings.postgresql bindings.redis bindings.cron |
Configuration | PostgreSQL Redis |
configuration.postgresql configuration.redis |
Outillage
Azure Container Apps veille à la compatibilité via des outils open source Dapr tels que des Kits de développement logiciel (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.