Rozhraní API mikroslužeb využívající Dapr

Azure Container Apps poskytuje rozhraní API založená na prostředí Dapr (Distributed Application Runtime), která pomáhají psát a implementovat jednoduché, přenosné, odolné a zabezpečené mikroslužby. Dapr spolupracuje s Azure Container Apps jako abstraktní vrstvou, která poskytuje platformu s nízkou údržbou a škálovatelnou platformou.

Azure Container Apps nabízí výběr plně spravovaných rozhraní DAPR API, komponent a funkcí, které se zaměřují konkrétně na scénáře mikroslužeb. Jednoduše povolte a nakonfigurujte Dapr jako obvykle v prostředí kontejnerové aplikace.

Poznámka:

Vyhledejte aktualizace a oznámení o vydaných verzích pro Dapr v Azure Container Apps na GitHubu.

Jak rozhraní API mikroslužeb fungují s vaší aplikací kontejneru

Nakonfigurujte rozhraní API mikroslužeb pro prostředí vašich kontejnérů pomocí Dapr podporované kontejnerové aplikace, komponenty Dapr nakonfigurované pro vaše řešení a Dapr sidecar, které mezi nimi vyvolává komunikaci. Následující diagram znázorňuje tyto základní koncepty s využitím pub/sub API jako příkladu.

Diagram znázorňující Dapr pub/sub a jak funguje v aplikacích pro kontejnery.

Popisek Nastavení Dapr Popis
1 Kontejnerové aplikace s povoleným Dapr Dapr je povolen na úrovni aplikace kontejneru konfigurací sady argumentů Dapr. Tyto hodnoty platí pro všechny revize dané aplikace kontejneru při spuštění v režimu více revizí.
2 Dapr Plně spravovaná rozhraní API Dapr se zveřejňují pro každou aplikaci kontejneru prostřednictvím Dapr sidecar. Rozhraní Dapr API je možné vyvolat v aplikaci kontejneru prostřednictvím protokolu HTTP nebo gRPC. Sidecar Dapr běží na HTTP portu 3500 a gRPC portu 50001.
3 Konfigurace komponenty Dapr Dapr používá modulární návrh, ve kterém se funkce dodává jako součást. Komponenty Dapr je možné sdílet napříč několika kontejnerovými aplikacemi. Identifikátory aplikace Dapr zadané v poli oborů určují, které aplikace kontejnerů s podporou dapr načítají danou komponentu za běhu.

Vytváření verzí

Namísto sledování pevného plánu vydání Dapr v Azure Container Apps, vydává nové vlastnosti a funkce na základě prioritizace a stability binárních souborů Dapr. Další informace o verzích Dapr v Azure Container Apps najdete v tématu Jak často se vydávají verze Dapr.

Verze Dapr v Azure Container Apps zahrnují:

  • Předpona sémantické správy verzí, například 1.13.6, která označuje kompatibilitu s odpovídajícími rozhraními API verze modulu runtime OSS Dapr a souvisejícími nástroji, jako jsou sady SDK a rozhraní příkazového řádku.
  • Přípona -msft.<number> , která označuje zahrnutí vlastních nastavení specifických pro Azure pro lepší připravenost na zabezpečení a produkční prostředí.

Úplný formát verze pro Dapr v Azure Container Apps může vypadat přibližně takto 1.13.6-msft.1.

Poznámka:

Přípona <number> nemusí vždy zvyšovat sekvenčně. Například verze 1.13.6-msft.3 může přeskočit 1.13.6-msft.2.

Podporovaná rozhraní DAPR API, komponenty a nástroje

Spravovaná rozhraní API

Azure Container Apps nabízí obecně dostupná rozhraní API Dapr (stavební bloky API a operační rozhraní API). Tato rozhraní API jsou plně spravovaná a podporovaná pro použití v produkčních prostředích.

Další informace o používání alfa dapr API a funkcí najdete v nejčastějších dotazech k Dapr.

Diagram znázorňující rozhraní DAPR API

Stavebnicová API

Rozhraní API stavebního bloku Stav Popis
Vyvolání mezi službami GA Zjišťování služeb a provádění spolehlivých, přímých volání mezi službami s automatickým ověřováním a šifrováním mTLS Podívejte se na známá omezení pro vyvolání služby Dapr v Azure Container Apps.
Správa stavu GA Poskytuje možnosti správy stavu pro transakce a operace CRUD.
Pub/sub GA Umožňuje aplikacím kontejnerů vydavatele a odběratele interkomunikovat prostřednictvím zprostředkujícího zprostředkovatele zpráv. Můžete také vytvořit deklarativní odběry tématu pomocí souboru JSON externí komponenty. Přečtěte si další informace o deklarativním pub/sub API.
Vazby GA Aktivujte aplikace na základě událostí.
Herci GA Dapr herci jsou jednotkami práce, které jsou řízené zprávami a jedním vláknem, navržené tak, aby se rychle škálovaly. Například v situacích náročných na nárazové zatížení.
Tajné kódy GA Získejte přístup k tajným kódům z kódu aplikace nebo odkazujte na zabezpečené hodnoty v komponentách Dapr.
Konfigurace GA Načtení a přihlášení k odběru položek konfigurace aplikace pro podporovaná úložiště konfigurací

Provozní rozhraní API

Provozní rozhraní API Stav Popis
Zdraví GA Sondy kontroly stavu, které monitorují připravenost nebo živost Dapr a připravenost inicializace SDK. Rozhraní API pro stav je k dispozici pouze pro protokol HTTP.
Kontroly stavu Dapr sidecaru se automaticky konfigurují, když je Dapr povolený v kontejnerové aplikaci.
metadata GA Vrátí informace o sajdkáře, což umožňuje zjistitelnost za běhu.

Kompatibilní sady SDK

Nejnovější balíčky klientské sady SDK pro Dapr jsou kompatibilní s Azure Container Apps. Sady SDK Dapr můžete použít s libovolným podporovaným rozhraním API runtime GA Dapr v1.12.

Poznámka:

V současné době nejsou rozšíření serveru Dapr, aktér a balíčky SDK pracovního postupu kompatibilní s Azure Container Apps. Další informace o všech balíčcích sady Dapr SDK najdete v sadách SDK.

Komponenty Dapr

Komponenty vrstvy 1 a vrstvy 2

Podporována je podmnožina komponent Dapr. V této podmnožině jsou komponenty Dapr rozdělené do dvou kategorií podpory: vrstva 1 nebo vrstva 2.

  • Komponenty vrstvy 1: Stabilní komponenty, které podstupují okamžité šetření v kritických scénářích (bezpečnostními nebo závažné regrese). V opačném případě Microsoft spolupracuje s open source komunitou na řešení prostřednictvím opravy hotfix nebo v příští pravidelné verzi.
  • Komponenty vrstvy 2: Komponenty, které jsou vyšetřeny na nižší prioritě, protože nejsou ve stabilním stavu nebo jsou u jiného poskytovatele.
Komponenty vrstvy 1
API Komponenta Typ
Správa stavu Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage (úložiště tabulek)
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publikování a přihlášení k odběru Fronty služby Azure Service Bus
Témata v Azure Service Bus
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Vazba Fronty úložiště Azure
Fronty služby Azure Service Bus
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Správa tajemství Azure Key Vault secretstores.azure.keyvault
Komponenty vrstvy 2
API Komponenta Typ
Správa stavu PostgreSQL
MySQL a MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publikování a přihlášení k odběru Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
Vazba 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
Konfigurace PostgreSQL
Redis
configuration.postgresql
configuration.redis

Další informace o používání podporovaných komponent Dapr najdete v tématu Komponenty Dapr v Azure Container Apps.

Nástroje

Azure Container Apps zajišťuje kompatibilitu s opensourcovými nástroji Dapr, jako jsou sady SDK a rozhraní příkazového řádku.

Omezení

  • Specifikace konfigurace Dapr: Všechny funkce, které vyžadují použití specifikace konfigurace Dapr.
  • Všechny anotace Dapr sidecar, které nejsou uvedené v průvodci povolením Dapr.
  • Podpora rozhraní API a komponent: Ve službě Azure Container Apps se podporují pouze rozhraní API a komponenty Dapr uvedené jako GA, Vrstva 1 nebo Vrstva 2 .
  • Připomenutí objektu actor: Vyžadovat minReplicas 1+ k zajištění, že připomenutí jsou vždy aktivní a aktivuje se správně.
  • Úlohy: Dapr není pro úlohy podporován.