Integracja języka Dapr z usługą Azure Container Apps

Środowisko uruchomieniowe aplikacji rozproszonej (Dapr) udostępnia interfejsy API, które działają jako proces przyczepki, który ułatwia pisanie i implementowanie prostych, przenośnych, odpornych i zabezpieczonych mikrousług. Język Dapr współpracuje z usługą Azure Container Apps jako warstwą abstrakcji, aby zapewnić platformę o niskiej konserwacji, bezserwerowej i skalowalnej. Włączenie języka Dapr w aplikacji kontenera powoduje utworzenie procesu pomocniczego wraz z kodem aplikacji, który upraszcza komunikację aplikacji z językiem Dapr za pośrednictwem protokołu HTTP lub gRPC.

Dapr w usłudze Azure Container Apps

Konfigurowanie języka Dapr dla środowiska aplikacji kontenera przy użyciu aplikacji kontenera z obsługą języka Dapr, składnika Języka Dapr skonfigurowanego dla rozwiązania oraz wywoływania komunikacji między nimi przez przyczepkę dapr. Na poniższym diagramie przedstawiono podstawowe pojęcia związane z usługą Dapr w usłudze Azure Container Apps.

Diagram przedstawiający usługę Dapr pub/sub i sposób jej działania w usłudze Container Apps.

Etykieta Ustawienia języka Dapr opis
1 Usługa Container Apps z włączoną obsługą języka Dapr Język Dapr jest włączony na poziomie aplikacji kontenera, konfigurując zestaw argumentów języka Dapr. Te wartości dotyczą wszystkich poprawek danej aplikacji kontenera podczas uruchamiania w trybie wielu poprawek.
2 Dapr W pełni zarządzane interfejsy API języka Dapr są widoczne dla każdej aplikacji kontenera za pośrednictwem przyczepki dapr. Interfejsy API języka Dapr można wywołać z aplikacji kontenera za pośrednictwem protokołu HTTP lub gRPC. Przyczepka dapr działa na porcie HTTP 3500 i gRPC 50001.
3 Konfiguracja składnika języka Dapr Język Dapr używa modułowego projektu, w którym funkcjonalność jest dostarczana jako składnik. Składniki języka Dapr można udostępniać w wielu aplikacjach kontenerów. Identyfikatory aplikacji dapr podane w tablicy zakresów określają, które aplikacje kontenerów z obsługą języka dapr ładują dany składnik w czasie wykonywania.

Obsługiwane interfejsy API języka Dapr, składniki i narzędzia

Zarządzane interfejsy API

Usługa Azure Container Apps oferuje zarządzane ogólnie dostępne interfejsy API języka Dapr (bloki konstrukcyjne). Te interfejsy API są w pełni zarządzane i obsługiwane do użycia w środowiskach produkcyjnych.

Aby dowiedzieć się więcej na temat używania interfejsów API i funkcji języka Dapr,zobacz Dapr FAQ (Często zadawane pytania dotyczące języka Dapr).

Diagram przedstawiający interfejsy API języka Dapr.

interfejs API Stan opis
Wywołanie typu service-to-service Ogólna dostępność Odnajdywanie usług i wykonywanie niezawodnych, bezpośrednich wywołań typu service-to-service za pomocą automatycznego uwierzytelniania i szyfrowania mTLS. Zobacz znane ograniczenia wywołania usługi Dapr w usłudze Azure Container Apps.
Zarządzanie stanem Ogólna dostępność Zapewnia funkcje zarządzania stanem dla transakcji i operacji CRUD.
Pub/sub Ogólna dostępność Umożliwia aplikacjom kontenera wydawcy i subskrybenta nawiązywanie połączeń za pośrednictwem pośredniczącego brokera komunikatów. Możesz również utworzyć deklaratywne subskrypcje do tematu przy użyciu pliku JSON składnika zewnętrznego. Dowiedz się więcej na temat deklaratywnego interfejsu API pub/sub.
Powiązania Ogólna dostępność Wyzwalanie aplikacji na podstawie zdarzeń
Aktorów Ogólna dostępność Aktorzy języka Dapr są jednostkami pracy opartymi na komunikatach, jednowątkowymi, zaprojektowanymi do szybkiego skalowania. Na przykład w sytuacjach z dużym obciążeniem.
Możliwość obserwowania Ogólna dostępność Wysyłanie informacji śledzenia do zaplecza usługi Application Szczegółowe informacje.
Wpisy tajne Ogólna dostępność Uzyskaj dostęp do wpisów tajnych z kodu aplikacji lub odwołuj się do bezpiecznych wartości w składnikach języka Dapr.
Konfiguracja Ogólna dostępność Pobieranie i subskrybowanie elementów konfiguracji aplikacji dla obsługiwanych magazynów konfiguracji.

Składniki warstwy 1 i warstwy 2

Podzestaw składników języka Dapr jest obsługiwany dla rozszerzenia Dapr dla usług AKS i Kubernetes z obsługą usługi Arc. W tym podzestawie składniki języka Dapr są podzielone na dwie kategorie pomocy technicznej: Warstwa 1 lub Warstwa 2.

  • Składniki warstwy 1: stabilne składniki, które otrzymują natychmiastowe badanie w scenariuszach krytycznych (zabezpieczeń lub poważnych regresji). W przeciwnym razie firma Microsoft współpracuje z oprogramowaniem open source w celu rozwiązania problemu w poprawce lub następnej regularnej wersji.
  • Składniki warstwy 2: składniki badane w mniejszym prioryficie, ponieważ nie są w stanie stabilnym lub są u dostawcy innej firmy.
Składniki warstwy 1
interfejs API Składnik Typ
Zarządzanie stanem Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publikowanie i subskrybowanie Kolejki usługi Azure Service Bus
Tematy usługi Azure Service Bus
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Wiązanie Kolejki usługi Azure Storage
Kolejki usługi Azure Service Bus
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Składniki warstwy 2
interfejs API Składnik Typ
Zarządzanie stanem Azure Cosmos DB
PostgreSQL
MySQL & MariaDB
Redis
state.azure.cosmosdb
state.postgresql
state.mysql
state.redis
Publikowanie i subskrybowanie Apache Kafka
Strumienie Redis
pubsub.kafka
pubsub.redis
Wiązanie 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
Konfigurowanie PostgreSQL
Redis
bindings.postgresql
bindings.redis

Narzędzia

Usługa Azure Container Apps zapewnia zgodność z narzędziami typu open source dapr, takimi jak zestawy SDK i interfejs wiersza polecenia.

Ograniczenia

  • Specyfikacja konfiguracji języka Dapr: wszelkie możliwości wymagające użycia specyfikacji konfiguracji języka Dapr.
  • Wszelkie adnotacje przyczepki dapr, które nie zostały wymienione w przewodniku włączania języka Dapr
  • Interfejsy API i składniki obsługują: w usłudze Azure Container Apps obsługiwane są tylko interfejsy API i składniki języka Dapr wymienione jako ogólna dostępność, warstwa 1 lub warstwa 2 w tym artykule .
  • Przypomnienia aktora: Wymagaj minReplicas z 1+ w celu zapewnienia, że przypomnienia są zawsze aktywne i są prawidłowo uruchamiane.
  • Zadania: Język Dapr nie jest obsługiwany w przypadku zadań.

Następne kroki