Przepływ pracy w Azure Container Apps

Uwaga / Notatka

Termin przepływ pracy często ma wiele znaczenia. W kontekście Durable Functions przepływy pracy mogą być nazywane orkiestracjami. Aby uniknąć pomyłek z orkiestracją kontenerów, w tym artykule używany jest zamiast tego termin przepływ pracy.

Przepływ pracy to wieloetapowa operacja, która zwykle występuje w określonej kolejności lub obejmuje długotrwałe zadania. Rzeczywiste scenariusze wymagające przepływów pracy obejmują:

  • Przetwarzanie zamówień
  • Orkiestracja agentów sztucznej inteligencji
  • Zarządzanie infrastrukturą
  • Potoki przetwarzania danych

Zdarzenia takie jak tymczasowe awarie infrastruktury lub przestoje zależności mogą często przerywać wykonywanie przepływu pracy. Aby zapobiec przerwom, można użyć trwałego wykonywania, które jest kontynuowane z punktu awarii zamiast ponownego uruchamiania.

Trwałe wykonywanie

Trwałe wykonanie zapewnia odporność na błędy przy uruchamianiu kodu i skutecznie obsługuje awarie dzięki automatycznemu ponawianiu prób i trwałości stanu. Trwałe wykonywanie jest oparte na trzech podstawowych zasadach:

  • Wykonywanie przyrostowe: Każda operacja jest wykonywana niezależnie i w kolejności.
  • Trwałość stanu: Dane wyjściowe każdego kroku są zapisywane w celu zapewnienia, że postęp nie zostanie utracony.
  • Odporność na uszkodzenia: Jeśli krok zakończy się niepowodzeniem, operacja zostanie ponowiona z ostatniego pomyślnego kroku, pomijając wcześniej wykonane kroki.

Trwałe wykonywanie przynosi korzyści scenariuszom, które wymagają stanowego łańcuchowania operacji. Upraszcza implementację złożonych, długotrwałych, stanowych i odpornych na błędy wzorców aplikacji.

Trwałe wykonywanie w workflowach w Azure Container Apps można osiągnąć przy użyciu jednej z zarządzanych przez Azure struktur przepływu pracy.

Struktury przepływu pracy dla deweloperów w Azure

Azure udostępnia dwie struktury przepływu pracy zorientowane na kod, których można użyć do tworzenia aplikacji uruchamianych na Azure Container Apps:

  • Trwałe zestawy SDK dla zadań
  • Durable Functions

Te struktury są przeznaczone dla deweloperów i są dostępne w wielu językach programowania.

Trwałe zestawy SDK dla zadań

Zestawy SDK Durable Task to lekkie klienckie SDK-i, które zapewniają neutralny model programowania do tworzenia przepływów pracy. W przeciwieństwie do Durable Functions, który jest ściśle powiązany z obliczeniami usługi Functions, te przenośne zestawy SDK są oddzielone od wszystkich obliczeń. Umożliwiają one aplikacji połączenie z silnikiem przepływu pracy hostowanym w Azure o nazwie Durable Task Scheduler.

Aby zapewnić trwałe wykonywanie, zestawy SDK zadań trwałych wymagają backendu magazynowania w celu zapisywania stanu przepływu pracy w czasie działania aplikacji. Backend Durable Task Scheduler stale zapisuje stan przepływu pracy w czasie działania aplikacji i automatycznie przeprowadza próby ponownego wykonania w celu zapewnienia trwałego wykonania. Harmonogram jest odpowiedzialny za:

  • Planuje wykonywanie zadań przepływu pracy i zarządza nimi.
  • Przechowuje i utrzymuje stan przepływu pracy.
  • Obsługuje utrzymywanie danych, błędy oraz ponowne próby.
  • Równoważenie obciążenia umożliwia wykonywanie orkiestracji na dużą skalę w aplikacji kontenerowej.

Uwaga / Notatka

Obecnie zestawy SDK Durable Task dla Pythona i Javy są dostępne w wersji zapoznawczej. Dowiedz się, która struktura jest zalecana do użytku produkcyjnego.

Szybki start

Spróbuj skonfigurować zestawy SDK Durable Task dla swojej aplikacji kontenerowej, korzystając z poniższych przewodników szybkiego startu.

Szybki start Opis
Tworzenie aplikacji z trwałymi zestawami SDK zadań i trwałym harmonogramem zadań Dowiedz się, jak tworzyć przepływy pracy korzystające ze wzorca aplikacji Durable Functions „fan-out/fan-in”. Obecnie dostępne w zestawach SDK .NET, Python i Java Durable Task.
Hostowanie aplikacji Durable Task SDK w Azure Container Apps Użyj interfejsu wiersza polecenia dewelopera Azure, aby utworzyć zasoby usługi Durable Task Scheduler i wdrożyć je w Azure z dwoma aplikacjami kontenera z uruchomionymi zadaniami przepływu pracy. Obecnie dostępne w zestawach SDK .NET, Python i Java Durable Task.

Durable Functions

Jako funkcja Azure Functions, Durable Functions dziedziczy wiele jej cech jako platformy przepływu pracy zorientowanej na kod w Azure. Na przykład w przypadku Durable Functions możesz skorzystać z następujących korzyści:

  • Integracje z innymi usługami Azure za pośrednictwem Azure Functions wyzwalaczy i powiązań
  • Lokalne doświadczenie rozwoju
  • Model cen bezserwerowy

Jak wybrać

Aplikacje utworzone przy użyciu zestawów SDK rozszerzenia Durable Task lub Durable Functions mogą być hostowane w Azure Container Apps. Dowiedz się, która struktura działa najlepiej w twoim scenariuszu.

Następny krok