Prozkoumání integrace Dapr s Azure Container Apps

Dokončeno

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. Jako alternativu k nasazení a správě projektu Dapr OSS sami se jedná o platformu 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ářů.

Rozhraní DAPR API

Snímek obrazovky s dekorativními prvky

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é jedním vláknem řízené zprávami 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.

Diagram znázorňující pub/sub A P dapr a jeho fungování v Container Apps

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 sajdkáru Dapr. Rozhraní DAPR API je možné vyvolat z vaší aplikace kontejneru prostřednictvím protokolu HTTP nebo gRPC. Sajdkárna Dapr běží na portu HTTP 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:

  • Rozhraní příkazového řádku 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 připojitelný abstrakce model pro připojení k podpůrným externím službám.
  • 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í.