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.
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.
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.