Tartós feladatütemező

A Durable Task Scheduler tartós végrehajtást biztosít Azure. A tartós végrehajtás hibatűrő módszer a kód futtatására, amely automatikus újrapróbálkozások és állapotmegőrzés révén kezeli a hibákat és a megszakításokat. A tartós végrehajtás az alábbi forgatókönyvekben segít:

  • Elosztott tranzakciók
  • Több ügynök koordinálása
  • Adatfeldolgozás
  • Infrastruktúra-kezelés

A Durable Task Scheduler a Durable Functions és a Durable Task SDK-k ajánlott társzolgáltatója.

Támogatott termékváltozatok

A Durable Functions esetében a Durable Task Schedulert használhatja bármelyik Functions SKU-val.

A Durable Task SDK-k esetében a Durable Task Schedulert bármilyen számítással használhatja.

Az ütemező két számlázási SKU-t kínál:

Támogatott régiók

A Durable Task Scheduler a legtöbb Azure régióban elérhető. Futtassa a következő parancsot az elérhető régiók aktuális listájának lekéréséhez:

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

Érdemes lehet ugyanazt a régiót használni a Durable Functions alkalmazáshoz és a Durable Task Scheduler erőforrásaihoz a teljesítmény és bizonyos hálózattal kapcsolatos funkciók optimalizálása érdekében.

Vezénylési keretrendszerek

A Durable Task Scheduler Durable Functions és a Durable Task SDK-k esetén is működik. Válassza ki, hogy melyik keretrendszer működik a legjobban a projekthez.

Architecture

A(z) összes Durable Task Scheduler vezénylési keretrendszerhez létrehozhat Microsoft.DurableTask/scheduler típusú ütemezőpéldányokat Azure Resource Manager használatával. Minden ütemező erőforrás belsőleg saját dedikált számítási és memóriaerőforrásokkal rendelkezik, amelyek az alábbi célokra vannak optimalizálva:

  • Vezénylő, tevékenység és entitás munkaelemeinek elküldése
  • Előzmények tárolása és lekérdezése nagy méretekben, minimális késéssel
  • Gazdag monitorozási élmény biztosítása a Durable Task Scheduler irányítópultján

A a BYO-tárolószolgáltatókkal ellentétben a Durable Task Scheduler szolgáltató egy olyan, a Durable Task Framework adott igényeire optimalizált, célalapú háttérrendszer.

Az alábbi ábra a Durable Task Scheduler háttérrendszer architektúráját és a csatlakoztatott alkalmazásokkal való interakcióját mutatja be.

Képernyőkép a Durable Task Scheduler architektúráról, amelyen az alkalmazásokhoz gRPC-n keresztül csatlakozó háttérszolgáltatás látható.

Működési elkülönítés

A Durable Task Scheduler az alkalmazástól különálló erőforrásként fut Azure. Ez az elkülönítés több okból is fontos:

  • Csökkentett erőforrás-felhasználás
    Az állapotkezelés felügyelt ütemezőre való kiszervezése csökkenti az alkalmazás processzor- és memóriahasználatát a BYO-társzolgáltatóhoz képest.

  • Hibaelkülönítés
    Az ütemező alkalmazástól való elkülönítése csökkenti a kaszkádolt hibák kockázatát, és javítja a csatlakoztatott alkalmazások általános megbízhatóságát.

  • Független skálázás
    Az ütemező erőforrás az alkalmazástól függetlenül skálázható a jobb infrastruktúra-erőforrás-kezelés és a költségoptimalizálás érdekében. Több alkalmazás is használhatja például ugyanazt az ütemező erőforrást, ami több csapattal vagy projekttel rendelkező szervezetek számára hasznos.

  • Továbbfejlesztett támogatási felület
    A Durable Task Scheduler egy felügyelt szolgáltatás, amely zökkenőmentes támogatást és diagnosztikát biztosít a mögöttes infrastruktúrával kapcsolatos problémákhoz.

Alkalmazáskapcsolat

Az alkalmazások gRPC-kapcsolaton keresztül csatlakoznak az ütemező erőforráshoz, TLS használatával védve és az alkalmazás identitása által hitelesítve. A végpont címe a következőhöz {scheduler-name}.{region}.durabletask.iohasonló formátumban van: . Például: myscheduler-123.westus2.durabletask.io.

A privát kapcsolatot igénylő forgatókönyvek esetében privát végpontokkal irányíthatja a forgalmat az ütemezőhöz a nyilvános internet helyett egy privát kapcsolaton keresztül a virtuális hálózaton belül.

A munkaelemek az ütemezőből az alkalmazásba leküldéses modellt alkalmazva streamelődnek, csökkentve a végpontok közötti késleltetést, és kiküszöbölve a lekérdezés szükségességét. Az alkalmazások több munkaelemet is feldolgozhatnak párhuzamosan, és a megfelelő vezénylési, tevékenységi vagy entitásfeladat befejeződésekor visszajelzést küldhetnek az ütemezőnek.

Állapotkezelés

A Durable Task Scheduler belsőleg kezeli a vezénylések és entitások állapotát, és nincs külön tárfiók az állapotkezeléshez. A belső állapottároló kiválóan optimalizált a Durable Functions és a Durable Task SDK-k használatára, ami jobb tartósságot és megbízhatóságot és kisebb késést eredményez.

Az ütemező a memórián belüli és az állandó belső tároló kombinációját használja az állapot kezeléséhez.

  • A memóriabeli tároló rövid élettartamú állapothoz használható.
  • Az állandó tároló a helyreállításhoz és a többpéldányos lekérdezési műveletekhez használatos.

Kiemelt funkciók

Ha a Durable Task Scheduler vezénylési keretrendszerek egyikét implementálja, számos fontos kiemelést élvezhet.

Durable Task Scheduler irányítópult

Ütemezőerőforrás létrehozásakor a rendszer egy megfelelő irányítópultot biztosít készen kapható formában. Az irányítópult áttekintést nyújt az összes vezénylésről és entitáspéldányról, és lehetővé teszi a következő lehetőségeket:

  • Gyorsan szűrjön különböző feltételek szerint.
  • Adatokat gyűjtünk egy vezénylési példány állapotáról, időtartamáról, bemenetéről/kimenetéről, stb.
  • A példány esetében való részletekben való elmélyülés az alvezénylésekkel és tevékenységekkel kapcsolatos adatok megszerzéséhez.
  • Kezelési műveleteket hajthat végre, például szüneteltetheti, megszüntetheti vagy újraindíthatja a vezénylési példányt.

Az irányítópulthoz való hozzáférést identitás- és szerepköralapú hozzáférés-vezérlők biztosítják.

További információ: Vezénylések hibakeresése és kezelése a Durable Task Scheduler dashboardjával.

Több tevékenységközpont

Az állapot tartósan megmarad egy feladatközpontban. Feladatközpont:

  • A vezénylési és entitáspéldányok logikai tárolója.
  • Lehetővé teszi az állapottároló particionálását.

Egy ütemezőpéldánysal több feladatközpontot is létrehozhat, amelyeket különböző alkalmazások használhatnak. Minden feladatközpont saját monitorozási irányítópultot kap. A feladatközpont eléréséhez a hívó identitásának rendelkeznie kell a szükséges szerepköralapú hozzáférés-vezérlési (RBAC) engedélyekkel.

Több tevékenységközpont létrehozása elkülöníti a különböző, egymástól függetlenül kezelhető számítási feladatokat. Például megteheted a következőket:

  • Hozzon létre egy feladatközpontot minden környezethez (fejlesztés, tesztelés, prod).
  • Hozzon létre feladatközpontokat a szervezet különböző csapatai számára.
  • Ugyanazt az ütemezőpéldányt több alkalmazásban is megoszthatja.

Az ütemező megosztása nagyszerű módszer a költségek optimalizálására, ha több csapat olyan forgatókönyvekkel rendelkezik, amelyek vezénylést igényelnek.

Megjegyzés:

Bár több feladatközpontot is létrehozhat egy ütemezőpéldányban, ugyanazok az erőforrások osztoznak bennük. Ha egy feladatközpont erősen túlterhelt, az hatással lehet az ütemező többi feladatközpontjának teljesítményére.

Emulator helyi fejlesztéshez

A Durable Task Scheduler emulator az ütemező háttérrendszer egyszerűsített verziója, amely helyileg fut egy Docker-tárolóban. Ezzel a következőt teheti:

  • Az alkalmazás fejlesztése és tesztelése a Azure üzembe helyezése nélkül.
  • A vezényléseket és entitásokat ugyanúgy figyelheti és kezelheti, mint az Azure.

A beállítási utasításokat a Durable Task Scheduler emulator futtatása című témakörben találja.

Megjegyzés:

Az emulátor belsőleg tárolja a vezénylést és az entitás állapotát a helyi memóriában, így éles használatra nem alkalmas.

Automatikus törlési megőrzési szabályzatok

Az elavult vezénylési adatokat rendszeresen törölni kell a hatékony tárolókapacitás érdekében. A Durable Task Scheduler automatikus tisztítási funkciója egyszerűsített, konfigurálható megoldást kínál az orchestration példányok automatikus eltávolításának kezelésére. Tudjon meg többet a Durable Task Scheduler automatikus törlési megőrzési szabályok beállításáról.

Korlátok és megfontolások

  • Ütemező kvóta:

    A számlázási termékváltozattól függően korlátozott számú ütemezőt hozhat létre.

  • Tevékenységközpont kvótája:

    A számlázási SKU-tól függően korlátozva van abban, hogy hány feladathubot használhat.

    További kvótáért lépjen kapcsolatba a támogatással.

  • Maximális hasznos teher méret:

    A Durable Task Scheduler maximális hasznos adatméret-korlátozással rendelkezik a következő JSON-szerializált adattípusokra:

    Adattípus Maximális méret
    Vezénylési bemenetek és kimenetek 1 MB
    Tevékenységbemenetek és kimenetek 1 MB
    Külső eseményadatok 1 MB
    Egyéni orkestrációs állapot 1 MB
    Entitás állapota 1 MB

    Ha az adatok túllépik ezeket a korlátokat, tekintse meg a nagy terhelés támogatását a rendelkezésre álló kerülő megoldásokért.

  • Orkesztrációs példányazonosító hossza:

    Az orchestrációs példányazonosítók hossza legfeljebb 100 karakter lehet.

    • Engedélyezett karakterek: Csak nyomtatható ASCII (betűk, számok, szimbólumok, például -, _, .stb. Karakterek 0x20 0x7E)
    • Minimális hossz: 1 karakter (nem lehet üres)
    • A @-val kezdődő példányazonosítók entitások számára vannak fenntartva