Dapr-integratie met Azure Container Apps verkennen
De Distributed Application Runtime (Dapr) is een set incrementeel adopteerbare functies waarmee het ontwerpen van gedistribueerde, microservicetoepassingen wordt vereenvoudigd. Dapr biedt mogelijkheden voor het inschakelen van communicatie tussen toepassingen via berichten via pub/sub of betrouwbare en veilige service-naar-service-aanroepen.
Dapr is een opensourceproject van Cloud Native Computing Foundation (CNCF ). De CNCF maakt deel uit van de Linux Foundation en biedt ondersteuning, toezicht en richting voor snel groeiende, cloudeigen projecten. Als alternatief voor het zelf implementeren en beheren van het Dapr OSS-project, is het Container Apps-platform:
- Biedt een beheerde en ondersteunde Dapr-integratie
- Verwerkt dapr-versie-upgrades naadloos
- Maakt een vereenvoudigd Dapr-interactiemodel beschikbaar om de productiviteit van ontwikkelaars te verhogen
Dapr-API's
Dapr-API | Beschrijving |
---|---|
Aanroep van service-naar-service | Ontdek services en voer betrouwbare, directe service-naar-service-aanroepen uit met automatische mTLS-verificatie en -versleuteling. |
Statusbeheer | Biedt mogelijkheden voor statusbeheer voor transacties en CRUD-bewerkingen. |
Pub/sub | Hiermee kunnen uitgevers- en abonneecontainer-apps communiceren via een tussenliggende berichtenbroker. |
Bindings | Uw toepassingen activeren op basis van gebeurtenissen |
Acteurs | Dapr-actoren zijn berichtengestuurde, één threaded, werkeenheden die zijn ontworpen om snel te schalen. Bijvoorbeeld in burst-zware workloadsituaties. |
Observability | Traceringsgegevens verzenden naar een Application Insights-back-end. |
Geheimen | Krijg toegang tot geheimen vanuit uw toepassingscode of verwijs naar beveiligde waarden in uw Dapr-onderdelen. |
Configuratie | Haal toepassingsconfiguratie-items op en abonneer erop voor ondersteunde configuratiearchieven. |
Notitie
De tabel bevat stabiele Dapr-API's. Ga naar beperkingen voor meer informatie over het gebruik van alfa-API's en functies.
Basisconcepten van Dapr
Het volgende voorbeeld op basis van de Pub/sub-API wordt gebruikt om de belangrijkste concepten te illustreren die betrekking hebben op Dapr in Azure 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. |
Dapr-inschakeling
U kunt Dapr configureren met behulp van verschillende argumenten en aantekeningen op basis van de runtimecontext. Azure Container Apps biedt drie kanalen waarmee u Dapr kunt configureren:
- Container Apps CLI
- IaC-sjablonen (Infrastructure as Code), zoals in Bicep- of Arm-sjablonen (Azure Resource Manager)
- Azure Portal
Dapr-onderdelen en -bereiken
Dapr maakt gebruik van een modulair ontwerp waarbij functionaliteit wordt geleverd als onderdeel. Het gebruik van Dapr-onderdelen is optioneel en wordt uitsluitend bepaald door de behoeften van uw toepassing.
Dapr-onderdelen in container-apps zijn resources op omgevingsniveau die:
- Kan een pluggable abstractiemodel bieden om verbinding te maken met ondersteunende externe services.
- Kan worden gedeeld tussen container-apps of worden afgestemd op specifieke container-apps.
- Kan Dapr-geheimen gebruiken om configuratiemetagegevens veilig op te halen.
Standaard laden alle dapr-container-apps in dezelfde omgeving de volledige set geïmplementeerde onderdelen. Om ervoor te zorgen dat onderdelen tijdens runtime worden geladen door alleen de juiste container-apps, moeten toepassingsbereiken worden gebruikt.