Udforsk Dapr-integration med Azure Container Apps
Dapr (Distributed Application Runtime) er et sæt funktioner, der kan indføres trinvist, og som forenkler oprettelse af distribuerede, mikrotjenestebaserede programmer. Dapr indeholder funktioner til aktivering af programkommunikation via meddelelser via pub/sub eller pålidelige og sikre service-til-service-kald.
Dapr er et cncf-projekt (Cloud Native Computing Foundation) open source. CNCF er en del af Linux Foundation og leverer support, tilsyn og retning til hurtigt voksende, oprindelige projekter i cloudmiljøet. Container Apps-platformen er et alternativ til selv at udrulle og administrere Dapr OSS-projektet:
- Leverer en administreret og understøttet Dapr-integration
- Håndterer opgraderinger af Dapr-versioner problemfrit
- Fremviser en forenklet Dapr-interaktionsmodel for at øge udviklerproduktiviteten
Dapr-API'er
| Dapr-API | Beskrivelse |
|---|---|
| aktivering af tjeneste til tjeneste | Find tjenester, og udfør pålidelige, direkte service til tjeneste-kald med automatisk mTLS-godkendelse og kryptering. |
| statsadministration | Leverer funktioner til tilstandsstyring for transaktioner og CRUD-handlinger. |
| pub/under | Gør det muligt for udgiver- og abonnentobjektbeholderapps at kommunikere via en mellemliggende meddelelsesmægler. |
| bindinger | Udløs dine programmer baseret på hændelser |
| skuespillere | Dapr-skuespillere er meddelelsesdrevne, enkelttrådede arbejdsenheder, der er designet til hurtigt at skalere. Det kan f.eks. være situationer med burst-tung arbejdsbelastning. |
| observability | Send sporingsoplysninger til en Application Insights-backend. |
| hemmeligheder | Få adgang til hemmeligheder fra programkoden, eller reference til sikre værdier i dine Dapr-komponenter. |
| konfiguration | Hent og abonner på elementer til programkonfiguration for understøttede konfigurationslagre. |
Seddel
Tabellen dækker stabile Dapr API'er. Hvis du vil vide mere om brug af alfa-API'er og -funktioner, besøge begrænsninger.
Dapr-kernebegreber
Følgende eksempel, der er baseret på Pub/sub-API'en, bruges til at illustrere kernebegreber, der er relateret til Dapr i Azure Container Apps.
| Etiket | Indstillinger for dapr | Beskrivelse |
|---|---|---|
| 1 | Objektbeholderapps med Dapr aktiveret | Dapr aktiveres på objektbeholderappniveau ved at konfigurere et sæt Dapr-argumenter. Disse værdier gælder for alle ændringer af en given objektbeholderapp, når der køres i flere revisionstilstand. |
| 2 | Dapr | De fuldt administrerede Dapr-API'er vises for hver objektbeholderapp via en Dapr-sidevogn. Dapr-API'erne kan aktiveres fra din objektbeholderapp via HTTP eller gRPC. Dapr-sidevognen kører på HTTP-port 3500 og gRPC-port 50001. |
| 3 | Konfiguration af dapr-komponent | Dapr bruger et modulært design, hvor funktionalitet leveres som en komponent. Dapr-komponenter kan deles på tværs af flere objektbeholderapps. De Dapr-app-id'er, der er angivet i områdematrixen, bestemmer, hvilke dapr-aktiverede objektbeholderapps der indlæser en bestemt komponent på kørselstidspunktet. |
Aktivering af dapr
Du kan konfigurere Dapr ved hjælp af forskellige argumenter og anmærkninger baseret på kørselskonteksten. Azure Container Apps indeholder tre kanaler, hvor du kan konfigurere Dapr:
- CLI for objektbeholderapps
- IaC-skabeloner (Infrastructure as Code), som i Bicep- eller ARM-skabeloner (Azure Resource Manager)
- Azure Portal
Dapr-komponenter og -områder
Dapr bruger et modulært design, hvor funktionalitet leveres som en komponent. Brugen af Dapr-komponenter er valgfri og udelukkende dikteret af behovene i dit program.
Dapr-komponenter i objektbeholderapps er ressourcer på miljøniveau, der:
- Kan levere en tilslutningsbar abstraktionsmodel til oprettelse af forbindelse til understøttende eksterne tjenester.
- Kan deles på tværs af objektbeholderapps eller begrænses til bestemte objektbeholderapps.
- Kan bruge Dapr-hemmeligheder til sikkert at hente konfigurationsmetadata.
Alle Dapr-aktiverede objektbeholderapps i det samme miljø indlæser som standard det fulde sæt installerede komponenter. For at sikre, at komponenter kun indlæses på kørselstidspunktet af de relevante objektbeholderapps, skal programområder bruges.