Vezénylési adatok kezelése tárolószolgáltatókkal

Amikor munkafolyamatokat hoz létre a Durable Functions vagy a Durable Task SDK-kkal, a vezényléseknek szükségük van egy helyre, ahol tárolják az állapotukat. A tárolószolgáltatók ezt úgy kezelik, hogy megőrzik a vezénylési előzményeket, az entitásállapotokat és a belső üzeneteket egy tetszőleges háttérrendszerben. Ez a tartós tárolás teszi megbízhatóvá a munkafolyamatokat – a folyamat leállása nélkül szüneteltethetik, méretezhetik, újraindíthatják és helyreállíthatják a munkafolyamatokat.

A Durable Functions több háttértárszolgáltatót is támogat. Konfigurálja az alkalmazást az alábbi lehetőségek egyikének használatára:

  • Azure felügyelt:
    • Tartós feladatütemező (ajánlott)
  • Hozd magaddal a saját (BYO) tárterület:
    • Azure Storage
    • Netherite
    • Microsoft SQL Server (MSSQL)

Megjegyzés:

Jelenleg nem lehet adatokat migrálni az egyik háttérrendszer-szolgáltatóból a másikba. Ha új szolgáltatót szeretne használni, hozzon létre egy új, az új szolgáltatóval konfigurált alkalmazást.

A Durable Task SDK-k tárolószolgáltatóként az Azure által felügyelt Durable Task Schedulert használják, amely teljes mértékben felügyelt háttérrendszert biztosít a megbízható munkafolyamat-vezényléshez infrastruktúra nélkül.

Tartós feladatütemező

A Durable Task Scheduler egy teljes mértékben felügyelt, nagy teljesítményű háttérszolgáltató, amelyet a Microsoft Research szolgáltatással együttműködve terveztek és fejlesztettek ki. Célja, hogy a lehető legjobb felhasználói élményt nyújtsa olyan szempontok tekintetében, mint a felügyelet, a megfigyelhetőség, a teljesítmény és a biztonság.

A Durable Task Scheduler fő előnyei a következők:

  • Alacsonyabb felügyeleti és üzemeltetési többletterhelés a BYO háttérszolgáltatókhoz képest
  • Megfigyelhetőségi és felügyeleti irányítópult.
  • Az összes háttérrendszer legnagyobb átviteli sebességét támogatja.
  • Támogatott hitelesítés felügyelt identitással.

A meglévő Durable Functions és a Durable Task SDK-felhasználók kódmódosítások nélkül használhatják az ütemezőt. További információ a Durable Task Schedulerről és az első lépésekről.

A Durable Task Scheduler mintái a GitHub webhelyen találhatók.

Azure Storage

Azure Storage a Durable Functions egyik "saját" tárolószolgáltatója. Az orkesztráció és az entitásállapot megőrzéséhez üzenetsorokat, táblákat és blobokat használ, míg a blobbérletek a partíciók kezelésére szolgálnak. A Azure Storage szolgáltató a Durable Functions bővítménybe van beépítve, és nincs más függősége.

A Azure Storage szolgáltató fő előnyei a következők:

  • Nincs szükség beállításra – a függvényalkalmazás beállítási felülete által létrehozott tárfiókot használhatja.
  • Legalacsonyabb költségű kiszolgáló nélküli számlázási modell – Azure Storage teljes mértékben használaton alapuló, fogyasztásalapú díjszabási modellel rendelkezik (több információ).
  • Legjobb eszközkezelési támogatás – Az Azure Storage platformfüggetlen helyi emulációt kínál, és integrálható a Visual Studióval, a Visual Studio Code-tal és az Azure Functions Core Tools-tal.
  • A legfejlettebb – Az Azure Storage volt a Durable Functions eredeti és leginkább tesztelt tárolási háttérrendszere.
  • A társzolgáltatóhoz való csatlakozáshoz az identitás titkos kulcsok helyett való használatának támogatása.

A Azure Storage szolgáltató nem igényel explicit konfigurációt, NuGet-csomaghivatkozásokat vagy bővítménycsomag-hivatkozásokat. Részletes konfigurációs beállításokért, beleértve a kapcsolatokat, az identitásalapú hitelesítést és a host.json beállításokat, tekintse meg az Azure Storage szolgáltatót a Durable Functions számára.

Microsoft SQL Server (MSSQL)

Az MSSQL-tárolószolgáltató az összes állapotot egy MSSQL-adatbázisban tárolja. Kompatibilis az SQL Server helyszíni és felhőalapú üzemelő példányaival, beleértve az Azure SQL Database-t is.

Az MSSQL storage-szolgáltató fő előnyei a következők:

  • A leválasztott környezetek támogatottak; nincs szükség Azure kapcsolatra SQL Server telepítésekor.
  • Több környezetben és felhőben hordozható, beleértve az Azure-ban üzemeltetett és a helyszíni megoldásokat is.
  • Erős adatkonzisztencia, amely lehetővé teszi a biztonsági mentést/visszaállítást és a feladatátvételt adatvesztés nélkül.
  • Natív támogatás egyéni adattitkosításhoz (az SQL Server egyik funkciója).
  • Beépített tárolt eljárásokon keresztül integrálható a meglévő adatbázis-alkalmazásokkal.

További információ az MSSQL-tárolószolgáltatóról:

Netherite

Megjegyzés:

A Netherite storage háttérrendszerének Durable Functions való használatának támogatása 2028. március 31-én véget ér. Javasoljuk, hogy értékelje ki a Tartós feladatütemezőt a Netherite-t jelenleg használó számítási feladatokhoz.

A Netherite Storage háttérrendszerét a Microsoft Research tervezte és fejlesztette ki. Az Azure Event Hubs és a FASTER adatbázis-technológiát használja az Azure Page Blobs-on.

A Netherite storage-szolgáltató fő előnyei a következők:

  • Magasabb átviteli sebesség alacsonyabb költség mellett, mint más tárolószolgáltatók.
  • Támogatja az ár-teljesítmény optimalizálást, így igény szerint felskálázhatja a teljesítményt.
  • Legfeljebb 32 adatpartíciót támogat az Event Hubs Basic és Standard termékváltozatokkal.
  • Költséghatékonyabb, mint a többi szolgáltató a nagy átviteli sebességű számítási feladatokhoz.

További információ a Netherite storage-szolgáltatóról:

Társzolgáltatók összehasonlítása

Az alábbi táblázat segítségével megismerheti a különböző támogatott tárolószolgáltatók közötti jelentős kompromisszumokat, és eldöntheti, hogy melyik tárolószolgáltató a legjobb az Igényeinek.

Funkció Tartós feladatütemező Azure Storage MSSQL Netherite
Hivatalos támogatási állapot ✅ Általánosan elérhető (GA) ✅ Általánosan elérhető (GA) ✅ Általánosan elérhető (GA) ✅ Általánosan elérhető (GA)
Külső függőségek N/A Azure Storage-fiók (általános célú v1) SQL Server 2019 vagy Azure SQL Database Azure Event Hubs
Azure Storage-fiók (általános célú)
Helyi fejlesztési és emulációs lehetőségek Durable Task Scheduler emulator Azurite v3.12+ (platformfüggetlen) SQL Server Developer Edition (támogatja a Windows, Linux és Docker-tárolókat) Támogatja a feladatközpontok memórián belüli emulációját (további információ)
Feladatközpont konfigurálása Egyértelmű Egyértelmű Implicit alapértelmezés szerint (további információ) Egyértelmű
Maximális átviteli sebesség Nagyon magas Mérsékelt Mérsékelt Nagyon magas
Maximális vezénylés/entitás-felskálázás (csomópontok) N/A 16 N/A 32
Maximális tevékenységskálázás (csomópontok) N/A N/A N/A 32
Tartós entitások támogatása ✅ Teljes mértékben támogatott ✅ Teljes mértékben támogatott ️ Támogatott, kivéve a .NET Isolated használatakor ✅ Teljes mértékben támogatott
KEDA 2.0 skálázási támogatás
(további információ)
Hamarosan! ❌ Nem támogatott ✅Az MSSQL-skálázó használata támogatott (további információ) ❌ Nem támogatott
Támogatás extension-csomagokhoz (nem .NET alkalmazásokhoz ajánlott) Hamarosan! ✅ Teljes mértékben támogatott ✅ Teljes mértékben támogatott ✅ Teljes mértékben támogatott
Az ár-teljesítmény konfigurálható? Hamarosan! ❌ Nem ✅ Igen (SQL vCPU-k) ✅ Igen (Event Hubs korlátozási egységek és kapacitás egységek)
Leválasztott környezet támogatása ❌ Azure-kapcsolat szükséges ❌ Azure-kapcsolat szükséges ✅ Teljes mértékben támogatott ❌ Azure-kapcsolat szükséges
Identitásalapú kapcsolatok ✅ Teljes mértékben támogatott ✅ Teljes mértékben támogatott ⚠️ Futásidejű skálázást igényel ❌ Nem támogatott
Rugalmas fogyasztási csomag ✅ Teljes mértékben támogatott ✅ Teljes mértékben támogatott (lásd a megjegyzéseket) ✅ Teljes mértékben támogatott ❌ Nem támogatott

Következő lépések