Dela via


Api:er för mikrotjänster som drivs av Dapr

Azure Container Apps tillhandahåller API:er som drivs av Dapr (Distributed Application Runtime) som hjälper dig att skriva och implementera enkla, bärbara, motståndskraftiga och säkra mikrotjänster. Dapr fungerar tillsammans med Azure Container Apps som ett abstraktionslager för att tillhandahålla en plattform med lågt underhåll och skalbar plattform. Azure Container Apps erbjuder ett urval av fullständigt hanterade Dapr-API:er, komponenter och funktioner som är specifikt anpassade till mikrotjänstscenarier. Aktivera och konfigurera Dapr som vanligt i containerappmiljön.

Så här fungerar mikrotjänst-API:erna med din containerapp

Konfigurera API:er för mikrotjänster för din containerappmiljö med en Dapr-aktiverad containerapp, en Dapr-komponent som konfigurerats för din lösning och en Dapr-sidovagn som anropar kommunikation mellan dem. Följande diagram visar dessa grundläggande begrepp med pub-/under-API:et som exempel.

Diagram som visar Dapr pub/sub och hur det fungerar i Container Apps.

Etikett Dapr-inställningar beskrivning
1 Containerappar med Dapr aktiverat Dapr aktiveras på containerappsnivå genom att konfigurera en uppsättning Dapr-argument. Dessa värden gäller för alla revisioner av en viss containerapp när de körs i flera revisionslägen.
2 Dapr De fullständigt hanterade Dapr-API:erna exponeras för varje containerapp via en Dapr-sidovagn. Dapr-API:erna kan anropas från containerappen via HTTP eller gRPC. Dapr-sidovagnen körs på HTTP-port 3500 och gRPC-port 50001.
3 Konfiguration av Dapr-komponent Dapr använder en modulär design där funktioner levereras som en komponent. Dapr-komponenter kan delas mellan flera containerappar. Dapr-appidentifierarna som anges i omfångsmatrisen avgör vilka dapr-aktiverade containerappar som läser in en viss komponent vid körning.

Dapr-API:er, komponenter och verktyg som stöds

Hanterade API:er

Azure Container Apps erbjuder hanterade allmänt tillgängliga Dapr-API:er (byggstenar). Dessa API:er hanteras fullständigt och stöds för användning i produktionsmiljöer.

Mer information om hur du använder alfa-Dapr-API :er och funktioner finns i Vanliga frågor och svar om Dapr.

Diagram som visar Dapr-API:er.

API Status beskrivning
Tjänst-till-tjänst-anrop Allmän tillgänglighet Upptäck tjänster och utför tillförlitliga, direkta tjänst-till-tjänst-anrop med automatisk mTLS-autentisering och kryptering. Se kända begränsningar för anrop av Dapr-tjänsten i Azure Container Apps.
Tillståndshantering Allmän tillgänglighet Tillhandahåller tillståndshanteringsfunktioner för transaktioner och CRUD-åtgärder.
Pub/sub Allmän tillgänglighet Tillåter att containerappar för utgivare och prenumeranter kommunicerar via en mellanliggande meddelandekö. Du kan också skapa deklarativa prenumerationer i ett ämne med hjälp av en extern JSON-komponentfil. Läs mer om det deklarativa pub-/under-API:et.
Bindningar Allmän tillgänglighet Utlös dina program baserat på händelser
Aktörer Allmän tillgänglighet Dapr-aktörer är meddelandedrivna, enkeltrådade arbetsenheter som är utformade för att snabbt skalas. Till exempel i burst-tunga arbetsbelastningssituationer.
Observerbarhet Allmän tillgänglighet Skicka spårningsinformation till en Application Insights-serverdel.
Hemligheter Allmän tillgänglighet Få åtkomst till hemligheter från programkoden eller referera till säkra värden i Dapr-komponenterna.
Konfiguration Allmän tillgänglighet Hämta och prenumerera på programkonfigurationsobjekt för konfigurationslager som stöds.

Kompatibla SDK:er

Daprs senaste SDK-klientpaket är kompatibla med Azure Container Apps. Du kan använda någon av de GA Dapr-API:er som stöds med följande Dapr-klient-SDK-versioner:

Språk SDK-version
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Kommentar

För närvarande är Dapr-servertilläggen, aktörs- och arbetsflödes-SDK-paketen inte kompatibla med Azure Container Apps. Läs mer om alla Dapr SDK-paket.

Komponenter på nivå 1 jämfört med nivå 2

En delmängd av Dapr-komponenter stöds. Inom den delmängden delas Dapr-komponenterna in i två supportkategorier: Nivå 1 eller Nivå 2.

  • Nivå 1-komponenter: Stabila komponenter som får omedelbar undersökning i kritiska (säkerhets- eller allvarliga regressionsscenarier). Annars samarbetar Microsoft med öppen källkod för att adressera i en snabbkorrigering eller i nästa vanliga version.
  • Nivå 2-komponenter: Komponenter som undersöks med mindre prioritet, eftersom de inte är i stabilt tillstånd eller är med en tredjepartsleverantör.

Komponenter på nivå 1

API Komponent Typ
Tillståndshantering Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publicera och prenumerera Azure Service Bus-köer
Azure Service Bus-avsnitt
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Bindning Azure Storage-köer
Azure Service Bus-köer
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Hantering av hemligheter Azure Key Vault secretstores.azure.keyvault

Komponenter på nivå 2

API Komponent Typ
Tillståndshantering PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publicera och prenumerera Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
Bindning 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
Konfiguration PostgreSQL
Redis
configuration.postgresql
configuration.redis

Verktyg

Azure Container Apps säkerställer kompatibilitet med Dapr öppen källkod-verktyg, till exempel SDK:er och CLI.

Begränsningar

  • Dapr-konfigurationsspecifikation: Alla funktioner som kräver användning av Dapr-konfigurationsspecifikationen.
  • Eventuella Dapr-sidovagnskommentarer som inte visas i Dapr-aktiveringsguiden
  • API:er och komponenter stöder: Endast Dapr-API:er och komponenter som anges som GA, Nivå 1 eller Nivå 2 i den här artikeln stöds i Azure Container Apps.
  • Aktörspåminnelser: Kräv en minReplicas på 1+ för att säkerställa att påminnelser alltid är aktiva och utlöses korrekt.
  • Jobb: Dapr stöds inte för jobb.

Nästa steg