Dela via


Välja ett orkestreringsramverk

I den här artikel får du lära dig om:

  • Fördelarna med att använda ett orkestreringsramverk.
  • Vilket ramverk fungerar bäst för ditt scenario.

Azure erbjuder två utvecklarorienterade orkestreringsramverk som du kan använda för att skapa appar: Durable Functions för appar som finns i Azure Functions och Durable Task SDK:er för appar som finns på andra beräkningsplattformar. Orkestreringar, även kallade arbetsflöden, omfattar att ordna och samordna flera (långvariga) uppgifter eller processer, som ofta omfattar flera system, som ska köras i en viss ordning. Det är viktigt att ett orkestreringsramverk garanterar varaktig körning, vilket innebär att körningen kan fortsätta i en annan process eller dator från felpunkten när det uppstår avbrott eller infrastrukturfel. Durable Task SDK:er och Durable Functions säkerställer att orkestrering utförs korrekt genom inbyggd tillståndsbeständighet och automatiska återförsök, så att du kan skapa orkestreringar utan att behöva skapa feltolerans.

Scenarier som kräver orkestrering

Följande är scenarier som kräver vanliga orkestreringsmönster som drar nytta av Durable Task SDK:er och Durable Functions:

  • Funktionslänkning: För scenarier som omfattar sekventiella steg, där varje steg kan vara beroende av utdata från föregående steg.
  • -out/-in: För batchjobb, ETL (extrahera, överföra och läsa in) och alla scenarion som kräver parallell bearbetning.
  • Mänskliga interaktioner: För arbetsflöden som kräver mänsklig inblandning vid tvåfaktorautentisering.
  • Asynkrona HTTP-API:er: För alla scenarier där en klient inte vill vänta på att långvariga uppgifter ska slutföras.

Följande två scenarier delar funktionslänkningsmönstret .

Bearbeta beställningar på en e-handelswebbplats

Anta att du skapar en e-handelswebbplats. Din webbplats behöver troligen ett arbetsflöde för orderbearbetning för alla kundköp. Arbetsflödet kan innehålla följande sekventiella steg:

  1. Kontrollera inventeringen
  2. Bearbeta betalning
  3. Uppdatera inventeringen
  4. Generera faktura
  5. Skicka orderbekräftelse

Anropa AI-agenter för att planera en resa

I det här scenariot ska vi säga att du behöver skapa en intelligent reseplanering. Det finns en rad kända steg som planeraren bör gå igenom:

  1. Föreslå idéer baserat på användarkrav
  2. Få inställningsbekräftelse
  3. Gör nödvändiga bokningar

Du kan implementera en AI-agent för varje uppgift och sedan skriva en orkestrering som anropar dessa agenter i viss ordning.

Alternativ för orkestreringsramverk

Både Durable Functions och Durable Task SDK är tillgängliga på flera språk, men det finns vissa skillnader i hur de kan användas. De viktiga skillnaderna och användningsfallen för varje ramverksalternativ beskrivs i följande avsnitt.

Varaktiga funktioner

Som en funktion i Azure Functions ärver Durable Functions flera tillgångar, till exempel:

  • Integreringar med andra Azure-tjänster via Functions-tilläggen
  • Lokal utvecklingsupplevelse
  • Serverlös prismodell
  • Hosting i Azure App Service och Azure Container Apps

Durable Functions bevarar tillstånd i en lagringsserverdel och stöder:

  • Två "bring-your-own" (BYO) bakändar.
    • Azure Storage
    • Microsoft SQL
  • En Hanterad Azure-serverdel:

När du ska använda Durable Functions

Överväg att använda Durable Functions om du behöver skapa händelsedrivna appar med arbetsflöden. Azure Functions-tilläggen tillhandahåller integreringar med andra Azure-tjänster, vilket gör det enkelt att skapa händelsedrivna scenarier. Till exempel med Durable Functions:

  • Du kan enkelt starta en orkestrering när ett meddelande kommer till Azure Service Bus eller en fil som laddas upp till Azure Blob Storage.
  • Du kan enkelt skapa en orkestrering som körs regelbundet eller som svar på en HTTP-begäran med Azure Functions-timern respektive HTTP-utlösaren.

En annan anledning att tänka på Durable Functions är om du redan skriver Azure-funktionsappar och inser att du behöver arbetsflöde. Eftersom Durable Functions-programmeringsmodellen liknar funktionens kan du påskynda utvecklingen.

Prova nu

Gå igenom någon av följande snabbstarter eller exempel för att lära dig mer om Durable Functions.

Snabbstarter
Snabbstart Beskrivning
Durable Task Scheduler (förhandsversion) Skapa en Durable Functions-app med Durable Task Scheduler Skapa en "hello world" Durable Functions-app som använder Durable Task Scheduler som serverdel, testar lokalt och publicerar till Azure.
Azure Storage Skapa en Durable Functions-app med Azure Storage-serverdelen:
- .NÄT
- Pytonorm
- JavaScript/TypeScript
- Java
- PowerShell
Skapa en "hello world" Durable Functions-app som använder Azure Storage som serverdel, testa lokalt och publicera till Azure.
MSSQL Skapa en Durable Functions-app med MSSQL Skapa en "hello world" Durable Functions-app som använder MSSQL som serverdel, testa lokalt och publicera till Azure.
Exempel
Exempel Beskrivning
Arbetsflöde för orderbearbetning Skapa ett arbetsflöde för orderbearbetning med Durable Functions:
- .NÄT
- Pytonorm
Det här exemplet implementerar ett arbetsflöde för orderbearbetning som omfattar kontroll av inventering, bearbetning av betalning, uppdatering av inventering och avisering av kunden.
Intelligent PDF-sammanfattare Skapa en app som bearbetar PDF-filer med Durable Functions:
- .NÄT
- Pytonorm
Det här exemplet visar hur du använder Durable Functions för att samordna stegen för bearbetning och sammanfattning av PDF-filer med Hjälp av Azure Cognitive Services och Azure OpenAI.

Durable Task SDK:er med Durable Task Scheduler (förhandsversion)

Durable Task SDK:er är klient-SDK:er som måste användas med Durable Task Scheduler. SDK:erna för durable task ansluter orkestreringarna som du skriver till orchestrationsmotorn Durable Task Scheduler i Azure. Appar som använder Durable Task SDK:er kan köras på valfri beräkningsplattform, inklusive:

  • Azure Kubernetes Service
  • Azure Container-applikationer
  • Служб
  • Virtuella datorer lokalt

Durable Task Scheduler (för närvarande i förhandsversion) spelar rollen för både orkestreringsmotorn och lagringsbackend för orkestreringstillståndets beständighet. Den robusta uppgiftsschemaläggaren

  • Hanteras helt av Azure, vilket tar bort hanteringskostnader
  • Ger högt orkestreringsdataflöde
  • Erbjuder en färdig instrumentpanel för orkestreringsövervakning och felsökning
  • Innehåller en lokal emulator

När ska du använda durable task SDK:er

Om du inte vill använda Azure Functions-programmeringsmodellen tillhandahåller Durable Task SDK:er en enkel och relativt icke-föreskrivande programmeringsmodell för att skapa arbetsflöden.

När du behöver köra appar på Azure Kubernetes Services eller virtuella datorer lokalt med officiell Microsoft-support bör du överväga att använda Durable Task SDK:er. Durable Functions kan även köras på dessa plattformar, men det finns inget officiellt stöd.

Prova nu

Gå igenom någon av följande snabbstarter för att konfigurera dina program så att de använder Durable Task Scheduler med SDK:erna för varaktiga uppgifter.

Snabbstart Beskrivning
Snabbstart för lokal utveckling Skapa en app med Durable Task SDK:er och Durable Task Scheduler med hjälp av .NET, Python eller Java SDK:er. Kör fan-in/fan-out-orkestrering lokalt med hjälp av Durable Task Scheduler-emulatorn och granska orkestreringshistoriken med hjälp av instrumentbrädan.
Värdtjänster i Azure Container Apps Distribuera en Durable Task SDK-app till Azure Container Apps Distribuera snabbt en "hello world" Durable Task SDK-app till Azure Container Apps med hjälp av Azure Developer CLI.

Anmärkning

Durable Task Framework (DTFx) är ett .NET-orkestreringsramverk med öppen källkod som liknar .NET Durable Task SDK. Även om det kan användas för att skapa appar som körs på plattformar som Azure Kubernetes Services, får DTFx inte officiell Microsoft-support.

Nästa steg