Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się:
- Korzyści wynikające z używania struktury aranżacji.
- Która struktura działa najlepiej w twoim scenariuszu.
Platforma Azure oferuje dwie platformy orkiestracji zorientowane na deweloperów, których można używać do tworzenia aplikacji: Durable Functions dla aplikacji hostowanych w usłudze Azure Functions i trwałych zestawów SDK zadań dla aplikacji hostowanych na innych platformach obliczeniowych. Orkiestracje, nazywane również przepływami pracy, obejmują rozmieszczanie i koordynowanie wielu (długotrwałych) zadań lub procesów, często obejmujących wiele systemów, które mają być wykonywane w określonej kolejności. Ważne jest, aby struktura orkiestracji gwarantuje trwałe wykonanie, co oznacza, że w przypadku przerw lub awarii infrastruktury wykonywanie może być kontynuowane w innym procesie lub maszynie od momentu awarii. Zestawy SDK durable Task i Durable Functions zapewniają trwałość aranżacji dzięki wbudowanej trwałości stanu i automatycznym ponawianiu prób, dzięki czemu można tworzyć aranżacje bez konieczności tworzenia architektury w celu zapewnienia odporności na uszkodzenia.
Scenariusze wymagające orkiestracji
Poniżej przedstawiono scenariusze wymagające typowych wzorców orkiestracji, które korzystają z zestawów SDK Durable Task i Durable Functions:
- Łączenie łańcuchów funkcji: W przypadku scenariuszy obejmujących kroki sekwencyjne, w których każdy krok może zależeć od danych wyjściowych poprzedniego kroku.
- Fan-out/fan-in: W przypadku zadań wsadowych, ETL (ekstrakcja, transformacja i ładowanie) oraz każdego scenariusza, który wymaga przetwarzania równoległego.
- Interakcje ludzkie: W przypadku uwierzytelniania dwuskładnikowego przepływy pracy wymagające interwencji człowieka.
- Asynchroniczne interfejsy API HTTP: W przypadku każdego scenariusza, w którym klient nie chce czekać na ukończenie długotrwałych zadań.
Dwa poniższe scenariusze współdzielą wzorzec tworzenia łańcucha funkcji .
Przetwarzanie zamówień w witrynie internetowej handlu elektronicznego
Załóżmy, że tworzysz witrynę internetową handlu elektronicznego. Twoja witryna internetowa prawdopodobnie potrzebuje procesu przetwarzania zamówień dla każdego zakupu klienta. Przepływ pracy może obejmować następujące kroki sekwencyjne:
- Sprawdzanie spisu
- Przetwarzanie płatności
- Aktualizowanie spisu
- Generuj fakturę
- Wyślij potwierdzenie zamówienia
Wywoływanie agentów sztucznej inteligencji na potrzeby planowania podróży
W tym scenariuszu załóżmy, że musisz utworzyć inteligentny plan podróży. Istnieje szereg znanych kroków, przez które planista powinien przejść:
- Sugerowanie pomysłów na podstawie wymagań użytkownika
- Uzyskiwanie potwierdzenia preferencji
- Dokonywanie wymaganych rezerwacji
Można zaimplementować agenta sztucznej inteligencji dla każdego zadania, a następnie napisać aranżację, która wywołuje tych agentów w określonej kolejności.
Opcje frameworka orkiestracji
Zarówno rozszerzenia Durable Functions, jak i rozszerzenie Durable Task SDK są dostępne w wielu językach, ale istnieją pewne różnice w sposobie ich użycia.
Znajomość, która struktura aranżacji jest zalecana dla środowiska produkcyjnego, może pomóc w podjęciu decyzji, która z nich najlepiej sprawdza się w projekcie. Zaplecze Durable Task jest w pełni zarządzane i obsługiwane, ale rozszerzenia Durable Functions i Durable Task SDK różnią się stabilnością w zależności od modelu cenowego i używanego zestawu SDK języka.
W poniższej tabeli przedstawiono doświadczenie użytkownika odpowiednie do użytku produkcyjnego.
| Doświadczenie | Dedykowany SKU | Jednostka SKU użycia |
|---|---|---|
| Rozszerzenie Durable Functions dla wszystkich języków | Ogólnie dostępne | Preview |
| Trwały zestaw SDK platformy .NET | Ogólnie dostępne | Preview |
| Durable Task Python SDK | Ogólnie dostępne | Preview |
| Trwały Task Java SDK | Preview | Preview |
Durable Functions
Jako funkcja usługi Azure Functions, Durable Functions dziedziczy wiele zasobów, takich jak:
- Integracje z innymi usługami platformy Azure za pośrednictwem rozszerzeń usługi Functions
- Lokalne doświadczenie rozwoju
- Model cen bezserwerowy
- Hosting w usługach Azure App Service i Azure Container Apps
Rozszerzenie Durable Functions utrwala stany w zapleczu pamięci masowej i obsługuje:
- Dwa zaplecza "bring-your-own" (BYO):
- Azure Storage
- Microsoft SQL
- Zarządzane zaplecze platformy Azure:
Kiedy używać rozszerzenia Durable Functions
Rozważ użycie rozszerzenia Durable Functions, jeśli musisz tworzyć aplikacje oparte na zdarzeniach za pomocą przepływów pracy. Rozszerzenia usługi Azure Functions zapewniają integrację z innymi usługami platformy Azure, co ułatwia tworzenie scenariuszy opartych na zdarzeniach. Na przykład w przypadku Durable Functions:
- Możesz łatwo uruchomić orkiestrację, gdy komunikat pojawi się w usłudze Azure Service Bus lub gdy plik zostanie przesłany do Azure Blob Storage.
- Możesz łatwo utworzyć aranżację, która jest uruchamiana okresowo lub w odpowiedzi na żądanie HTTP, odpowiednio za pomocą czasomierza usługi Azure Functions i wyzwalacza HTTP.
Innym powodem do rozważenia rozszerzenia Durable Functions jest to, że jeśli już piszesz aplikacje funkcji platformy Azure i zdajesz sobie sprawę, że potrzebujesz przepływu pracy. Ponieważ model programowania Durable Functions jest podobny do funkcji, możesz przyspieszyć programowanie.
Czas to wypróbować
Przejrzyj jeden z poniższych szybkich przewodników lub przykładów, aby dowiedzieć się więcej o Durable Functions.
Szybki start
| Szybki start | Opis | |
|---|---|---|
| Trwały harmonogram zadań | Tworzenie aplikacji Durable Functions za pomocą narzędzia Durable Task Scheduler | Utwórz aplikację Durable Functions "hello world", która używa narzędzia Durable Task Scheduler jako zaplecza, testowania lokalnego i publikowania na platformie Azure. |
| Azure Storage | Utwórz aplikację Durable Functions za pomocą zaplecza usługi Azure Storage: - .SIEĆ - Pyton - JavaScript/TypeScript - Jawa - PowerShell |
Utwórz aplikację Durable Functions "hello world", która używa usługi Azure Storage jako zaplecza, testowania lokalnego i publikowania na platformie Azure. |
| MSSQL | Tworzenie aplikacji Durable Functions za pomocą programu MSSQL | Utwórz aplikację Durable Functions "hello world", która używa bazy danych MSSQL jako zaplecza, testuj lokalnie i publikuj na platformie Azure. |
Przykłady
| Przykład | Opis | |
|---|---|---|
| Przepływ pracy przetwarzania zamówień | Utwórz przepływ pracy przetwarzania zamówień za pomocą rozszerzenia Durable Functions: - .SIEĆ - Pyton |
Ten przykład implementuje przepływ pracy przetwarzania zamówień, który obejmuje sprawdzanie spisu, przetwarzanie płatności, aktualizowanie spisu i powiadamianie klienta. |
| Inteligentny moduł podsumowania plików PDF | Utwórz aplikację, która przetwarza pliki PDF za pomocą rozszerzenia Durable Functions: - .SIEĆ - Pyton |
W tym przykładzie pokazano, jak używać rozszerzenia Durable Functions do koordynowania kroków przetwarzania i podsumowywania plików PDF przy użyciu usług Azure Cognitive Services i Azure OpenAI. |
Trwałe zestawy SDK do zadań z trwałym harmonogramem zadań
Zestawy SDK Durable Task to zestawy SDK klienta, które muszą być używane z harmonogramem Durable Task. Zestawy SDK Durable Task łączą orkiestracje, które piszesz, z silnikiem orkiestracji Durable Task Scheduler na platformie Azure. Aplikacje korzystające z zestawów SDK Durable Task mogą działać na dowolnej platformie obliczeniowej, w tym:
- Azure Kubernetes Service
- Azure Container Apps
- Azure App Service
- Lokalne maszyny wirtualne
Durable Task Scheduler (Java SDK obecnie w wersji zapoznawczej) pełni rolę zarówno silnika orkiestracji, jak i zaplecza przechowywania dla trwałości stanu orkiestracji. Harmonogram zadań trwałych:
- Jest w pełni zarządzana przez platformę Azure, co powoduje usunięcie obciążeń związanych z zarządzaniem
- Zapewnia wysoką przepływność orkiestracji
- Oferuje gotowy do użycia panel kontrolny do monitorowania orkiestracji i debugowania
- Zawiera emulator lokalny
Kiedy używać SDK Durable Task
Jeśli nie chcesz używać modelu programowania usługi Azure Functions, Durable Task SDK zapewniają lekki i stosunkowo nieingerujący model programowania do tworzenia przepływów pracy.
Jeśli musisz uruchamiać aplikacje w usługach Azure Kubernetes lub na lokalnych maszynach wirtualnych z oficjalnym wsparciem technicznym Microsoft, rozważ użycie zestawów SDK Durable Task. Chociaż rozszerzenie Durable Functions może być również uruchamiane na tych platformach, nie ma oficjalnej pomocy technicznej.
Czas to wypróbować
Zapoznaj się z jednym z poniższych przewodników szybkiego startu, aby skonfigurować aplikacje do używania harmonogramu zadań Durable z pakietami SDK Durable Task.
| Szybki start | Opis | |
|---|---|---|
| Szybki start w lokalnym rozwoju | Utwórz aplikację przy użyciu zestawów SDK zadań Durable Task i rozszerzenia Durable Task Scheduler przy użyciu zestawów SDK platformy .NET, Python lub Java. | Uruchom orkiestrację fan-in/fan-out lokalnie przy użyciu emulatora Durable Task Scheduler i przejrzyj historię orkiestracji przy użyciu pulpitu nawigacyjnego. |
| Hosting w usłudze Azure Container Apps | Wdrażanie aplikacji durable task SDK w usłudze Azure Container Apps | Szybko wdroż aplikację Durable Task SDK typu "hello world" w Azure Container Apps przy użyciu CLI dla deweloperów Azure. |
Uwaga / Notatka
Durable Task Framework (DTFx) to platforma aranżacji platformy .NET typu open source podobna do zestawu .NET Durable Task SDK. Chociaż może służyć do tworzenia aplikacji uruchamianych na platformach, takich jak Azure Kubernetes Services, dtFx nie otrzymuje oficjalnej pomocy technicznej firmy Microsoft.