Plánovač úloh Durable

Durable Task Scheduler poskytuje trvalé provádění v Azure. Odolné spouštění je přístup odolný proti chybám při spouštění kódu, který zpracovává chyby a přerušení prostřednictvím automatického opakování a trvalosti stavu. Odolná exekuce pomáhá při řešení scénářů, jako jsou:

  • Distribuované transakce
  • Orchestrace s více agenty
  • Zpracování dat
  • Správa infrastruktury

Durable Task Scheduler je doporučeným poskytovatelem úložiště pro Durable Functions a soubory durable task SDK.

Podporované skladové položky

Pro Durable Functions můžete použít Plánovač úloh Durable s jakoukoli z SKU služby Functions.

Pro sady SDK Durable Task můžete použít Durable Task Scheduler s libovolnými výpočetními prostředky.

Plánovač sám nabízí dvě fakturační SKU:

Podporované oblasti

Trvalý plánovač úloh je k dispozici ve většině Azure oblastí. Spuštěním následujícího příkazu získejte aktuální seznam dostupných oblastí:

az provider show --namespace Microsoft.DurableTask --query "resourceTypes[?resourceType=='schedulers'].locations | [0]" --out table

Zvažte použití stejné oblasti pro vaši aplikaci Durable Functions a prostředky Plánovače úloh Durable, abyste optimalizovali výkon a určité funkce související se sítí.

Orchestrační rámce

Durable Task Scheduler funguje s Durable Functions i Durable Task SDK. Zvolte, která architektura je pro váš projekt nejvhodnější.

Architecture

Pro všechny architektury orchestrace plánovače trvalých úloh můžete vytvořit instance plánovače typu Microsoft. DurableTask/scheduler pomocí Azure Resource Manager. Každý prostředek plánovače má interně vlastní vyhrazené výpočetní a paměťové prostředky optimalizované pro:

  • Odesílání orchestrátoru, aktivity a pracovních položek entit
  • Ukládání historie dotazů ve velkém měřítku s minimální latencí
  • Poskytování bohatého prostředí pro monitorování prostřednictvím řídicího panelu Plánovače úloh Durable

Na rozdíl od zprostředkovatelé úložiště BYO je poskytovatel plánovače úloh Durable Task Scheduler účelově sestavený back-end jako služba optimalizovaný pro konkrétní potřeby architektury úloh Durable Task Framework.

Následující diagram znázorňuje architekturu back-endu Plánovače úloh Durable a její interakci s připojenými aplikacemi.

Snímek obrazovky architektury Plánovače úloh Durable zobrazující back-endovou službu, která se připojuje k aplikacím přes gRPC

Oddělení provozu

Plánovač úloh Durable běží v Azure jako samostatný prostředek od vaší aplikace. Tato izolace je důležitá z několika důvodů:

  • Nižší spotřeba prostředků
    Přesměrování správy stavu do spravovaného plánovače snižuje spotřebu procesoru a paměti ve vaší aplikaci v porovnání s použitím poskytovatele úložiště BYO.

  • Izolace chyb
    Oddělení plánovače od aplikace snižuje riziko kaskádových selhání a zlepšuje celkovou spolehlivost připojených aplikací.

  • Nezávislé škálování
    Prostředek plánovače je možné škálovat nezávisle na aplikaci, aby se zlepšila správa prostředků infrastruktury a optimalizace nákladů. Například více aplikací může sdílet stejný zdroj plánovače, což je užitečné pro organizace s více týmy nebo projekty.

  • Vylepšené prostředí podpory
    Durable Task Scheduler je spravovaná služba, která poskytuje zjednodušenou podporu a diagnostiku problémů souvisejících se základní infrastrukturou.

Připojení aplikace

Vaše aplikace se připojují k prostředku plánovače prostřednictvím připojení gRPC zabezpečeného pomocí protokolu TLS a ověřené identitou aplikace. Adresa koncového bodu je ve formátu podobném {scheduler-name}.{region}.durabletask.io. Například: myscheduler-123.westus2.durabletask.io.

Ve scénářích, které vyžadují privátní připojení, můžete pomocí privátních koncových bodů směrovat provoz do plánovače přes privátní propojení ve vaší virtuální síti místo veřejného internetu.

Pracovní položky se streamují z plánovače do aplikace pomocí push modelu, což zlepšuje konce na konec latenci a odstraňuje potřebu dotazování v pravidelných intervalech. Aplikace můžou zpracovávat více pracovních položek paralelně a odesílat odpovědi zpět do plánovače, když je dokončena odpovídající úloha orchestrace, aktivity nebo entity.

Správa stavu

Plánovač úloh Durable spravuje stav orchestrací a entit interně bez samostatného účtu úložiště pro správu stavu. Interní úložiště stavů je vysoce optimalizované pro použití s Durable Functions a sadami DURABLE TASK SDK, což vede k lepší odolnosti a spolehlivosti a snížení latence.

Plánovač používá ke správě stavu kombinaci interního úložiště v paměti a trvalého interního úložiště.

  • Úložiště v paměti se používá k dočasnému ukládání stavu.
  • Trvalé úložiště se používá k obnovení a pro operace dotazu s více instancemi.

Zvýrazněné funkce

Když implementujete některou z architektur orchestrace plánovače úloh Durable Task Scheduler, můžete využít několik klíčových zvýraznění.

Plánovač úloh Durable: Řídicí panel

Když se vytvoří prostředek plánovače, je automaticky k dispozici odpovídající řídicí panel. Řídicí panel poskytuje přehled všech orchestrací a instancí entit a umožňuje:

  • Rychlé filtrování podle různých kritérií
  • Shromážděte data o instanci orchestrace, jako je stav, doba trvání, vstup/výstup atd.
  • Prozkoumejte instanci a získejte data o dílčích orchestracích a aktivitách.
  • Proveďte operace správy, jako je pozastavení, ukončení nebo restartování instance orchestrace.

Přístup k řídicímu panelu je zabezpečen identitou a řízením přístupu na základě role.

Další informace najdete v tématu Ladění a správa orchestrací pomocí řídicího panelu Plánovač úloh Durable Task Scheduler.

Několik center úloh

Stav je trvale trvalý v centru úloh. Centrum úloh:

  • Je logický kontejner pro orchestraci a instance entit.
  • Poskytuje způsob, jak rozdělit úložiště stavů.

S jednou instancí plánovače můžete vytvořit několik center úloh, které můžou používat různé aplikace. Každé centrum úloh získá vlastní řídicí panel monitorování. Pro přístup k centru úloh musí mít identita volajícího požadovaná oprávnění řízení přístupu na základě role (RBAC).

Vytvoření několika center úloh izoluje různé úlohy, které je možné spravovat nezávisle. Například můžete:

  • Vytvořte centrum úloh pro každé prostředí (vývoj, testování, prod).
  • Vytvořte centrum úkolů pro různé týmy ve vaší organizaci.
  • Sdílejte stejnou instanci plánovače napříč několika aplikacemi.

Sdílení plánovače je skvělý způsob, jak optimalizovat náklady, když má více týmů scénáře vyžadující orchestraci.

Poznámka:

I když můžete vytvořit více center úloh v jedné instanci plánovače, sdílejí stejné prostředky. Pokud je jedno centrum úloh silně zatížené, může mít vliv na výkon jiných center úloh ve stejném plánovači.

Emulátor pro místní vývoj

Emulátor plánovače úloh Durable je zjednodušená verze back-endu plánovače, která běží místně v kontejneru Dockeru. S ním můžete:

  • Vyvíjejte a testujte aplikaci bez nasazení do Azure.
  • Monitorujte a spravujte orchestrace a entity stejně jako v Azure.

Pokyny k nastavení najdete v tématu Spuštění emulátoru Plánovače úloh Durable.

Poznámka:

Emulátor interně ukládá orchestraci a stav entity v místní paměti, takže není vhodný pro produkční použití.

Zásady automatického mazání a uchovávání dat

Zastaralá data orchestrace by se měla pravidelně vyprázdnit, aby se zajistilo efektivní využití úložiště. Funkce automatického čištění pro Durable Task Scheduler poskytuje zjednodušené a konfigurovatelné řešení pro automatizovanou správu vymazání instancí orchestrace. Přečtěte si další informace o nastavení zásad uchovávání dat pro automatické mazání v Durable Task Scheduler.

Omezení a úvahy

  • Kvóta plánovače:

    Počet plánovačů, které můžete vytvořit, je omezený v závislosti na vaší fakturační SKU.

  • Kvóta centra úloh:

    Počet center úloh, které můžete použít, je omezený v závislosti na vaší fakturační SKU.

    Pro více kvóty kontaktujte podporu.

  • Maximální velikost datového nákladu:

    Plánovač úloh Durable má omezení maximální velikosti datové části pro následující datové typy serializované ve formátu JSON:

    Datový typ Maximální velikost
    Vstupy a výstupy orchestratoru 1 MB
    Vstupy a výstupy aktivit 1 MB
    Externí událostní data 1 MB
    Vlastní stav orchestrace 1 MB
    Stav entita 1 MB

    Pokud vaše data překročí tato omezení, podívejte se na podporu velkých datových částí , kde najdete dostupná alternativní řešení.

  • Délka ID orchestrace instance:

    ID instancí orchestrace jsou omezena na maximální délku 100 znaků.

    • Povolené znaky: Tisknutelné jenom ASCII (písmena, číslice, symboly jako -, _, .atd. Znaky 0x20 až 0x7E)
    • Minimální délka: 1 znak (nesmí být prázdný)
    • ID instancí začínající znakem @ jsou vyhrazená pro entity.