Dapr-integratie met Azure Container Apps verkennen

Voltooid

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

Schermopname van Decoratief.

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.

Diagram met de Dapr pub/sub A P I 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.

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.