Interfejsy API mikrousług obsługiwane przez język Dapr
Usługa Azure Container Apps udostępnia interfejsy API obsługiwane przez rozproszone środowisko uruchomieniowe aplikacji (Dapr), które ułatwiają 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 i skalowalności. Usługa Azure Container Apps oferuje wybór w pełni zarządzanych interfejsów API, składników i funkcji języka Dapr przeznaczonych specjalnie dla scenariuszy mikrousług. Wystarczy włączyć i skonfigurować środowisko Dapr jak zwykle w środowisku aplikacji kontenera.
Jak interfejsy API mikrousług działają z aplikacją kontenera
Konfigurowanie interfejsów API mikrousług dla środowiska aplikacji kontenera za pomocą 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 te podstawowe pojęcia, korzystając z pubu/podrzędnego interfejsu API jako przykładu.
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 (interfejsy API bloków konstrukcyjnych i operacyjne interfejsy API). 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).
Interfejsy API bloków konstrukcyjnych
Interfejs API bloku konstrukcyjnego | 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. |
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. |
Operacyjne interfejsy API
Operacyjny interfejs API | Stan | opis |
---|---|---|
Zdrowie | Ogólna dostępność | Sondy kontroli kondycji, które monitorują gotowość lub dostępność zestawów SDK języka Dapr i inicjowania. Interfejs API kondycji jest dostępny tylko dla protokołu HTTP. |
Metadane | Ogólna dostępność | Zwraca informacje o przyczepce, co pozwala na odnajdywanie środowiska uruchomieniowego. |
Zgodne zestawy SDK
Najnowsze pakiety zestawu SDK klienta dapr są zgodne z usługą Azure Container Apps. Możesz użyć dowolnego z obsługiwanych interfejsów API języka Dapr z następującymi wersjami zestawu SDK klienta języka Dapr:
Język | Wersja zestawu 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 |
Uwaga
Obecnie rozszerzenia serwera Dapr, aktor i pakiety zestawu SDK przepływu pracy nie są zgodne z usługą Azure Container Apps. Dowiedz się więcej o wszystkich pakietach zestawu DAPR SDK.
Składniki języka Dapr
Składniki warstwy 1 i warstwy 2
Obsługiwany jest podzbiór składników języka Dapr. 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 Cosmos DB Azure Blob Storage v1 Azure Table Storage Microsoft SQL Server |
state.azure.cosmosdb 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 |
Zarządzanie wpisami tajnymi | Azure Key Vault | secretstores.azure.keyvault |
Składniki warstwy 2
interfejs API | Składnik | Typ |
---|---|---|
Zarządzanie stanem | PostgreSQL MySQL & MariaDB Redis |
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 |
configuration.postgresql configuration.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
- Wdrażanie języka Dapr przy użyciu:
- Włącz język Dapr w istniejącej aplikacji kontenera.