Eksplorowanie integracji języka Dapr z usługą Azure Container Apps
Środowisko uruchomieniowe aplikacji rozproszonych (Dapr) to zestaw przyrostowych funkcji, które upraszczają tworzenie rozproszonych aplikacji opartych na mikrousługach. Język Dapr zapewnia możliwości umożliwiające komunikację między aplikacjami za pośrednictwem komunikatów za pośrednictwem pub/sub lub niezawodnych i bezpiecznych wywołań typu service-to-service.
Dapr to projekt Open Source, Cloud Native Computing Foundation (CNCF). CNCF jest częścią Linux Foundation i zapewnia wsparcie, nadzór i kierunek dla szybko rozwijających się projektów natywnych dla chmury. Alternatywą dla samodzielnego wdrażania projektu systemu operacyjnego Dapr i zarządzania nim jest platforma Container Apps:
- Zapewnia zarządzaną i obsługiwaną integrację języka Dapr
- Bezproblemowo obsługuje uaktualnienia wersji języka Dapr
- Uwidacznia uproszczony model interakcji języka Dapr w celu zwiększenia produktywności deweloperów
Interfejsy API języka Dapr
| Dapr API | opis |
|---|---|
| Wywołanie typu service-to-service | Odnajdywanie usług i wykonywanie niezawodnych, bezpośrednich wywołań typu service-to-service za pomocą automatycznego uwierzytelniania i szyfrowania mTLS. |
| Zarządzanie stanem | Zapewnia funkcje zarządzania stanem dla transakcji i operacji CRUD. |
| Pub/sub | Umożliwia aplikacjom kontenera wydawcy i subskrybenta nawiązywanie połączeń za pośrednictwem pośredniczącego brokera komunikatów. |
| Powiązania | Wyzwalanie aplikacji na podstawie zdarzeń |
| Aktorów | 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 | Wysyłanie informacji śledzenia do zaplecza usługi Application Insights. |
| Wpisy tajne | 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 | Pobieranie i subskrybowanie elementów konfiguracji aplikacji dla obsługiwanych magazynów konfiguracji. |
Uwaga
W tabeli opisano stabilne interfejsy API języka Dapr. Aby dowiedzieć się więcej na temat używania interfejsów API i funkcji alfa, odwiedź stronę ograniczenia.
Podstawowe pojęcia dotyczące języka Dapr
Poniższy przykład oparty na interfejsie API pub/sub służy do zilustrowania podstawowych pojęć związanych z językiem Dapr w usłudze Azure 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. |
Włączanie języka Dapr
Język Dapr można skonfigurować przy użyciu różnych argumentów i adnotacji na podstawie kontekstu środowiska uruchomieniowego. Usługa Azure Container Apps udostępnia trzy kanały, za pomocą których można skonfigurować język Dapr:
- Interfejs wiersza polecenia usługi Container Apps
- Szablony infrastruktury jako kodu (IaC), jak w szablonach Bicep lub Azure Resource Manager (ARM)
- Azure Portal
Składniki i zakresy języka Dapr
Język Dapr używa modułowego projektu, w którym funkcjonalność jest dostarczana jako składnik. Użycie składników języka Dapr jest opcjonalne i dyktowane wyłącznie przez potrzeby aplikacji.
Składniki języka Dapr w aplikacjach kontenera to zasoby na poziomie środowiska, które:
- Może zapewnić podłączany model abstrakcji na potrzeby nawiązywania połączenia z pomocniczymi usługami zewnętrznymi.
- Może być współużytkowany w aplikacjach kontenerów lub w określonym zakresie dla określonych aplikacji kontenerów.
- Może używać wpisów tajnych języka Dapr do bezpiecznego pobierania metadanych konfiguracji.
Domyślnie wszystkie aplikacje kontenerów z obsługą języka Dapr w tym samym środowisku ładują pełny zestaw wdrożonych składników. Aby upewnić się, że składniki są ładowane w czasie wykonywania tylko przez odpowiednie aplikacje kontenerów, należy używać zakresów aplikacji.