Share via


Microservice-API's mogelijk gemaakt door Dapr

Azure Container Apps biedt API's die worden aangedreven door Distributed Application Runtime (Dapr) waarmee u eenvoudige, draagbare, flexibele en beveiligde microservices kunt schrijven en implementeren. Dapr werkt samen met Azure Container Apps als een abstractielaag om een laag onderhoud en een schaalbaar platform te bieden. Azure Container Apps biedt een selectie van volledig beheerde Dapr-API's, onderdelen en functies, die specifiek geschikt zijn voor microservicescenario's. Schakel Dapr gewoon in en configureer deze zoals gebruikelijk in uw container-app-omgeving.

Hoe de microservices-API's werken met uw container-app

Configureer microservices-API's voor uw container-apps-omgeving met een container-app met Dapr-functionaliteit, een Dapr-onderdeel dat is geconfigureerd voor uw oplossing en een Dapr-sidecar die ertussen communicatie aanroept. In het volgende diagram ziet u deze kernconcepten met behulp van de pub/sub-API als voorbeeld.

Diagram waarin Dapr pub/sub wordt gedemonstreerd en hoe het werkt in Container Apps.

Label Dapr-instellingen Beschrijving
1 Container Apps waarvoor Dapr is ingeschakeld Dapr is ingeschakeld op het niveau van de container-app door een set Dapr-argumenten te configureren. Deze waarden zijn van toepassing op alle revisies van een bepaalde container-app wanneer deze worden uitgevoerd in de modus voor meerdere revisies.
2 Dapr De volledig beheerde Dapr-API's worden beschikbaar gesteld voor elke container-app via een Dapr-sidecar. De Dapr-API's kunnen worden aangeroepen vanuit uw container-app via HTTP of gRPC. De Dapr-sidecar wordt uitgevoerd op HTTP-poort 3500 en gRPC-poort 50001.
3 Configuratie van dapr-onderdelen Dapr maakt gebruik van een modulair ontwerp waarbij functionaliteit wordt geleverd als onderdeel. Dapr-onderdelen kunnen worden gedeeld in meerdere container-apps. De Dapr-app-id's die zijn opgegeven in de scopesmatrix bepalen welke container-apps met dapr-functionaliteit een bepaald onderdeel tijdens runtime laden.

Ondersteunde Dapr-API's, onderdelen en hulpprogramma's

Beheerde API's

Azure Container Apps biedt beheerde algemeen beschikbare Dapr-API's (bouwstenen). Deze API's worden volledig beheerd en ondersteund voor gebruik in productieomgevingen.

Zie de Veelgestelde vragen over Dapr voor meer informatie over het gebruik van alfa Dapr-API's en -functies.

Diagram met Dapr-API's.

API -Status Beschrijving
Aanroep van service-naar-service GA Ontdek services en voer betrouwbare, directe service-naar-service-aanroepen uit met automatische mTLS-verificatie en -versleuteling. Bekijk bekende beperkingen voor aanroepen van dapr-services in Azure Container Apps.
Statusbeheer GA Biedt mogelijkheden voor statusbeheer voor transacties en CRUD-bewerkingen.
Pub/sub GA Hiermee kunnen uitgevers- en abonneecontainer-apps communiceren via een tussenliggende berichtenbroker. U kunt ook declaratieve abonnementen voor een onderwerp maken met behulp van een JSON-bestand met een extern onderdeel. Meer informatie over de declaratieve pub/sub-API.
Bindings GA Uw toepassingen activeren op basis van gebeurtenissen
Acteurs GA Dapr-actoren zijn berichtengestuurde, één threaded, werkeenheden die zijn ontworpen om snel te schalen. Bijvoorbeeld in burst-zware workloadsituaties.
Observability GA Traceringsgegevens verzenden naar een Application Insights-back-end.
Geheimen GA Krijg toegang tot geheimen vanuit uw toepassingscode of verwijs naar beveiligde waarden in uw Dapr-onderdelen.
Configuratie GA Haal toepassingsconfiguratie-items op en abonneer erop voor ondersteunde configuratiearchieven.

Compatibele SDK's

De nieuwste client-SDK-pakketten van Dapr zijn compatibel met Azure Container Apps. U kunt een van de ondersteunde DAPR-API's van GA gebruiken met de volgende Dapr-client-SDK-versies:

Taal SDK-versie
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Notitie

Momenteel zijn de Dapr-serverextensies, actor- en werkstroom-SDK-pakketten niet compatibel met Azure Container Apps. Meer informatie over alle Dapr SDK-pakketten.

Laag 1 versus laag 2-onderdelen

Een subset van Dapr-onderdelen wordt ondersteund. Binnen die subset worden Dapr-onderdelen onderverdeeld in twee ondersteuningscategorieën: Laag 1 of Laag 2.

  • Laag 1-onderdelen: stabiele onderdelen die onmiddellijk onderzoek ontvangen in kritieke (beveiligings- of ernstige regressie)-scenario's. Anders werkt Microsoft samen met open source om te reageren in een hotfix of de volgende reguliere release.
  • Laag 2-onderdelen: Onderdelen die worden onderzocht op een lagere prioriteit, omdat ze niet in een stabiele staat of bij een externe provider zijn.

Onderdelen van laag 1

API Onderdeel Type
Statusbeheer Azure Cosmos DB
Azure Blob Storage v1
Azure-tabelopslag
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publiceren en abonneren Azure Service Bus-wachtrijen
Azure Service Bus-onderwerpen
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Binding Azure Storage-wachtrijen
Azure Service Bus-wachtrijen
Azure Blob-opslag
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Geheimenbeheer Azure Key Vault secretstores.azure.keyvault

Laag 2-onderdelen

API Onderdeel Type
Statusbeheer PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publiceren en abonneren Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
Binding 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
Configuratie PostgreSQL
Redis
configuration.postgresql
configuration.redis

Hulpprogramma's

Azure Container Apps zorgt voor compatibiliteit met opensource-hulpprogramma's voor Dapr, zoals SDK's en de CLI.

Beperkingen

  • Dapr-configuratiespecificatie: alle mogelijkheden waarvoor het gebruik van de Dapr-configuratiespecificatie is vereist.
  • Dapr-sidecaraantekeningen die niet worden vermeld in de dapr-activeringshandleiding
  • API's en onderdelen ondersteunen: alleen de Dapr-API's en onderdelen die worden vermeld als GA, Laag 1 of Laag 2 in dit artikel , worden ondersteund in Azure Container Apps.
  • Actorherinneringen: Vereist een minReplicas van 1+ om ervoor te zorgen dat herinneringen altijd actief zijn en correct worden geactiveerd.
  • Taken: Dapr wordt niet ondersteund voor taken.

Volgende stappen