Prozkoumání integrace Dapr s Azure Container Apps
Dapr (Distributed Application Runtime) je sada přírůstkově použitelných funkcí, které zjednodušují vytváření distribuovaných aplikací založených na mikroslužbách. Dapr poskytuje možnosti pro povolení komunikace mezi aplikacemi prostřednictvím zasílání zpráv prostřednictvím pub/sub nebo spolehlivého a zabezpečeného volání mezi službami.
Dapr je opensourcový projekt CNCF (Cloud Native Computing Foundation). CNCF je součástí Linux Foundation a poskytuje podporu, dohled a směr pro rychle rostoucí projekty nativní pro cloud. Alternativou k tomu, abyste sami nasazovali a spravovali projekt Dapr OSS, je platforma Container Apps.
- Poskytuje spravovanou a podporovanou integraci Dapr.
- Bezproblémově zpracovává upgrady verzí Dapr.
- Zpřístupňuje zjednodušený model interakce Dapr za účelem zvýšení produktivity vývojářů.
Dapr API
| Dapr API | Popis |
|---|---|
| Vyvolání mezi službami | 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 |
| Správa stavu | Poskytuje možnosti správy stavu pro transakce a operace CRUD. |
| Pub/sub | Umožňuje aplikacím kontejnerů vydavatele a odběratele interkomunikovat prostřednictvím zprostředkujícího zprostředkovatele zpráv. |
| Vazby | Aktivace aplikací na základě událostí |
| Herci | Herci Dapr jsou jednotky práce ří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í. |
| Pozorovatelnost | Odeslání informací o trasování do back-endu Application Insights |
| Tajné kódy | 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 | Načtení a přihlášení k odběru položek konfigurace aplikace pro podporovaná úložiště konfigurací |
Poznámka:
Tabulka pokrývá stabilní rozhraní DAPR API. Další informace o používání alfa rozhraní API a funkcí najdete v omezeních.
Základní koncepty Dapr
Následující příklad založený na pub/sub API se používá k ilustraci základních konceptů souvisejících s Dapr v Azure Container Apps.
| Štítek | 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 jsou zpřístupněna pro každou kontejnerovou aplikaci prostřednictvím postranního modulu Dapr. Rozhraní Dapr lze vyvolat z vaší kontejnerové aplikace prostřednictvím protokolu HTTP nebo gRPC. Dapr sidecar 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. |
Povolení Dapr
Dapr můžete nakonfigurovat pomocí různých argumentů a poznámek na základě kontextu modulu runtime. Azure Container Apps poskytuje tři kanály, pomocí kterých můžete nakonfigurovat Dapr:
- CLI Container Apps
- Šablony infrastruktury jako kódu (IaC) jako v šablonách Bicep nebo Azure Resource Manageru (ARM)
- Azure Portal
Komponenty a obory Dapr
Dapr používá modulární návrh, ve kterém se funkce dodává jako součást. Použití komponent Dapr je volitelné a diktuje výhradně požadavky vaší aplikace.
Komponenty Dapr v kontejnerových aplikacích jsou prostředky na úrovni prostředí, které:
- Může poskytnout plugovatelný abstraktní model pro spojení s podpůrnými externími službami.
- Dají se sdílet napříč kontejnerovými aplikacemi nebo se dají vymezit na konkrétní kontejnerové aplikace.
- Pomocí tajných kódů Dapr můžete bezpečně načíst metadata konfigurace.
Ve výchozím nastavení všechny kontejnerové aplikace s podporou Dapr ve stejném prostředí načítají úplnou sadu nasazených komponent. Aby se zajistilo, že se komponenty načítají za běhu pouze příslušnými aplikacemi kontejnerů, měly by se použít obory aplikací.