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.
Jak rozhraní API mikroslužeb fungují s vaší aplikací kontejneru
Nakonfigurujte rozhraní API mikroslužeb pro prostředí aplikací kontejnerů pomocí aplikace kontejneru s podporou Dapr, komponenty Dapr nakonfigurované pro vaše řešení a sajdkáru Dapr, která mezi nimi vyvolá komunikaci. Následující diagram znázorňuje tyto základní koncepty s využitím pub/sub API jako příkladu.
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. |
Podporovaná rozhraní DAPR API, komponenty a nástroje
Spravovaná rozhraní API
Azure Container Apps nabízí obecně dostupná obecně dostupná rozhraní DAPR API (rozhraní API stavebních bloků 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.
Rozhraní API stavebních bloků
Rozhraní API stavebního bloku | Status | 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 | Aktivace aplikací na základě událostí |
Herci | GA | 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í. |
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 | Status | Popis |
---|---|---|
Stav | GA | Sondy kontroly stavu, které monitorují připravenost nebo živou připravenost dapr a inicializace sad SDK. Rozhraní API pro stav je k dispozici pouze pro protokol HTTP. |
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. Můžete použít libovolnou z podporovaných rozhraní API ga Dapr s následujícími verzemi klientské sady SDK Dapr:
Jazyk | Verze sady SDK |
---|---|
Java | 1.12.0 |
Go | 1.11.0 |
Python | 1.14.0 |
.NET | 1.14.0 |
JavaScript | 3.3.1 |
Rust | 0.15.1 |
Poznámka:
Balíčky sdk serveru Dapr, actor a workflow v současné době nejsou kompatibilní s Azure Container Apps. Přečtěte si další informace o všech balíčcích sady Dapr SDK.
Komponenty Dapr
Komponenty vrstvy 1 a vrstvy 2
Podporuje se 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é přijímají okamžité šetření v kritických scénářích (zabezpečení nebo závažné regrese). V opačném případě Microsoft spolupracuje s opensourcovou verzí na adresu v opravě 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
rozhraní API | Komponenta | Typ |
---|---|---|
Správa stavu | Azure Cosmos DB Azure Blob Storage v1 Azure Table Storage 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éma služby Azure Service Bus Azure Event Hubs |
pubsub.azure.servicebus.queues pubsub.azure.servicebus.topics pubsub.azure.eventhubs |
Vazba | Fronty Azure Storage 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 tajných kódů | Azure Key Vault | secretstores.azure.keyvault |
Komponenty vrstvy 2
rozhraní 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 Streamy Redis |
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 |
Přečtěte si další informace o tom, jak používat podporované 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 možnosti, které vyžadují použití specifikace konfigurace Dapr.
- Všechny poznámky k sajdkáře Dapr, které nejsou uvedené v průvodci povolením Dapr
- Podpora rozhraní API a komponent: V 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 se u úloh nepodporuje.
Další kroky
- Nasazení Dapr pomocí:
- Povolte Dapr v existující aplikaci kontejneru.