Freigeben über


Arbeitsablauf in Azure Container Apps

Hinweis

Der Begriff 'Workflow' hat häufig mehrere Bedeutungen. Im Kontext von Durable Functions werden Workflows möglicherweise als Orchestrierungen bezeichnet. Um Verwirrung mit Container-Orchestrierungen zu vermeiden, verwendet dieser Artikel stattdessen den Begriffsworkflow.

Ein Workflow ist ein mehrstufiger Vorgang, der in der Regel in einer bestimmten Reihenfolge auftritt oder lange ausgeführte Aufgaben umfasst. Reale Szenarien, die Workflows erfordern, umfassen:

  • Auftragsverarbeitung
  • Orchestrierung von KI-Agents
  • Infrastrukturverwaltung
  • Datenverarbeitungspipelines

Ereignisse wie temporäre Infrastrukturfehler oder Abhängigkeitsausfallzeiten können häufig die Workflowausführung unterbrechen. Um Unterbrechungen zu verhindern, können Sie eine dauerhafte Ausführung verwenden, die vom Fehlerpunkt aus fortgesetzt wird, anstatt neu zu starten.

Langlebige Ausführung

Die dauerhafte Ausführung bietet einen fehlertoleranten Ansatz zum Ausführen von Code und behandelt Fehler ordnungsgemäß durch automatische Wiederholungen und Zustandspersistenz. Die dauerhafte Ausführung basiert auf drei Kernprinzipien:

  • Inkrementelle Ausführung: Jeder Vorgang wird unabhängig und in der Reihenfolge ausgeführt.
  • Zustandspersistenz: Die Ausgabe der einzelnen Schritte wird gespeichert, um sicherzustellen, dass der Fortschritt nicht verloren geht.
  • Fehlertoleranz: Wenn ein Schritt fehlschlägt, wird der Vorgang vom letzten erfolgreichen Schritt wiederholt, wobei zuvor abgeschlossene Schritte übersprungen werden.

Die dauerhafte Ausführung bietet Vorteile für Szenarien, die eine zustandsbehaftete Verkettung von Vorgängen erfordern. Sie vereinfacht die Implementierung komplexer, lang ausgeführter, zustandsbehafteter und fehlertoleranter Anwendungsmuster.

Sie können eine dauerhafte Ausführung in Ihren Workflows in Azure Container Apps erreichen, indem Sie eines der Azure verwalteten Workflowframeworks verwenden.

Workflowframeworks für Entwickler in Azure

Azure stellt zwei codeorientierte Workflowframeworks bereit, mit denen Sie Apps erstellen können, die auf Azure Container Apps ausgeführt werden:

  • SDKs für persistente Aufgaben
  • Dauerhafte Funktionen

Diese Frameworks sind für Entwickler konzipiert und in mehreren Programmiersprachen verfügbar.

Robuste Aufgaben-SDKs

Die SDKs für langlebige Aufgaben sind einfache Client-SDKs, die ein Unopinionated-Programmiermodell für die Erstellung von Workflows bieten. Im Gegensatz zu Durable Functions, das eng mit der Berechnung der Funktionen gekoppelt ist, werden diese tragbaren SDKs von jeder Berechnung entkoppelt. Sie ermöglichen Ihrer App, eine Verbindung mit einem Workflowmodul herzustellen, das in Azure als Durable Task Scheduler gehostet wird.

Um eine dauerhafte Ausführung sicherzustellen, benötigen die SDKs für dauerhafte Aufgaben ein Speicher-Back-End, um den Workflowstatus beizubehalten, während die App ausgeführt wird. Das Backend "Durable Task Scheduler" überprüft den Workflowstatus kontinuierlich, während die App ausgeführt wird, und behandelt automatisch Wiederholungen, um eine dauerhafte Ausführung sicherzustellen. Der Zeitplaner ist für Folgendes verantwortlich:

  • Plant und verwaltet die Ausführung von Workflowaufgaben.
  • Speichert und verwaltet den Workflowstatus.
  • Behandelt Persistenz, Fehler und Wiederholungen.
  • Sorgt für Lastausgleich bei der Ausführung der Orchestrierung im großen Stil für Ihre Container-App.

Hinweis

Derzeit befinden sich die Durable Task-Python- und Java-SDKs in der Vorschauversion. Erfahren Sie, welches Framework für die Produktionsverwendung empfohlen wird.

Schnellstart

Konfigurieren Sie die Durable Task SDKs für Ihre Container-App mithilfe der folgenden Schnellstarts.

Schnellstart BESCHREIBUNG
Erstellen Sie eine App mit Durable Task SDKs und dem Durable Task Scheduler Erfahren Sie, wie Sie Workflows erstellen, die das Fan-Out/Fan-In Designmuster von Durable Functions verwenden. Derzeit mit den .NET, Python und Java Durable Task SDKs verfügbar.
Hosten Sie eine Durable Task SDK-App auf Azure Container Apps Verwenden Sie die Azure Developer CLI, um Ressourcen für den dauerhaften Aufgabenplaner zu erstellen und sie mit zwei Container-Apps, die Workflowaufgaben ausführen, auf Azure bereitzustellen. Derzeit mit den .NET, Python und Java Durable Task SDKs verfügbar.

Durable Functions

Als Feature von Azure Functions erbt Durable Functions viele seiner Merkmale als codeorientiertes Workflowframework, das in Azure angeboten wird. Mit Durable Functions profitieren Sie beispielsweise von:

  • Integrationen mit anderen Azure Diensten über Azure Functions Trigger und Bindungen
  • Lokale Entwicklungserfahrung
  • Serverloses Preismodell

Wie man auswählt

Anwendungen, die entweder mit den SdKs für dauerhafte Aufgaben oder Durable Functions erstellt wurden, können in Azure Container Apps gehostet werden. Erfahren Sie, welches Framework für Ihr Szenario am besten geeignet ist.

Nächster Schritt