Durable Functions számlázás

Durable Functions számlázása ugyanúgy történik, mint Azure Functions. További információ: Azure Functions díjszabás.

Ha vezénylőfüggvényeket hajt végre Azure Functions Használati csomagban, tisztában kell lennie néhány számlázási viselkedéssel. Az alábbi szakaszok részletesebben ismertetik ezeket a viselkedéseket és azok hatását.

Orchestrator-függvény – számlázás visszajátszása

Az Orchestrator-függvények a vezénylés teljes élettartama során többször is visszajátszhatnak. Az egyes visszajátszásokat a Azure Functions futtatókörnyezet különálló függvényhívásként tekinti meg. Ezért a Azure Functions Használat csomagban egy vezénylőfüggvény minden visszajátszásáért díjat kell fizetnie. Más csomagtípusok nem számítanak fel díjat a vezénylőfüggvény-visszajátszásért.

Várakozás és hozam a vezénylőfüggvényekben

Amikor egy vezénylőfüggvény megvárja az aszinkron feladat befejezését, a futtatókörnyezet úgy véli, hogy az adott függvényhívás befejeződött. A vezénylő függvény számlázása ezen a ponton leáll. A következő vezénylőfüggvény visszajátszásáig nem folytatódik. Nem kell fizetnie a vezénylési függvények várakozásával vagy hozamával töltött időért.

Megjegyzés

A más függvényeket meghívó függvényeket egyesek kiszolgáló nélküli anti-mintának tekintik. Ennek oka egy kettős számlázás néven ismert probléma. Ha egy függvény közvetlenül meghív egy másik függvényt, mindkettő egyszerre fut. A hívott függvény aktívan futtatja a kódot, miközben a hívó függvény válaszra vár. Ebben az esetben fizetnie kell azért az időért, amelyet a hívó függvény a hívott függvény futtatására vár.

Az orchestrator függvényekben nincs kettős számlázás. A vezénylőfüggvény számlázása leáll, amíg egy tevékenységfüggvény vagy részvezénylés eredményére vár.

Tartós HTTP-lekérdezés

Az Orchestrator-függvények hosszú ideig futó HTTP-hívásokat kezdeményezhetnek külső végpontokra a HTTP-szolgáltatásokról szóló cikkben leírtak szerint. A "call HTTP" API-k belsőleg lekérdezhetnek egy HTTP-végpontot, miközben az aszinkron 202 mintát követik.

A belső HTTP-lekérdezési műveletekhez jelenleg nincs közvetlen számlázás. A belső lekérdezések azonban azt okozhatják, hogy a vezénylő függvény rendszeres időközönként visszajátssza a lejátszást. Ezekért a belső függvény-visszajátszásokért normál díjakat kell fizetnie.

Azure Storage-tranzakciók

Durable Functions alapértelmezés szerint az Azure Storage-t használja az állapot állandó állapotának megőrzésére, az üzenetek feldolgozására és a partíciók blobbérleteken keresztüli kezelésére. Mivel Öné ez a tárfiók, a tranzakciós költségek az Azure-előfizetésre kerülnek kiszámlázva. A Durable Functions által használt Azure Storage-összetevőkről a Task Hubs (Feladatközpontok) című cikkben talál további információt.

Számos tényező járul hozzá a Durable Functions alkalmazás tényleges Azure Storage-költségeihez:

  • Egyetlen függvényalkalmazás egyetlen feladatközponthoz van társítva, amely több Azure Storage-erőforrást oszt meg. Ezeket az erőforrásokat egy függvényalkalmazás összes tartós függvénye használja. A függvényalkalmazásban lévő függvények tényleges száma nincs hatással az Azure Storage tranzakciós költségeire.
  • Minden függvényalkalmazás-példány belsőleg több üzenetsort kérdez le a tárfiókban egy exponenciális visszalépéses lekérdezési algoritmus használatával. Egy tétlen alkalmazáspéldány ritkábban kérdezi le az üzenetsorokat, mint egy aktív alkalmazás, ami kevesebb tranzakciós költséget eredményez. Az Azure Storage-szolgáltató használatakor Durable Functions üzenetsor-lekérdezési viselkedésről az Azure Storage-szolgáltató dokumentációjának üzenetsor-lekérdezési szakaszában talál további információt.
  • Ha a Azure Functions Használat vagy Prémium csomagban fut, a Azure Functions skálázási vezérlő rendszeresen lekérdezi a háttérben lévő összes feladatközpont-üzenetsort. Ha egy függvényalkalmazás alacsony vagy közepes méretű, akkor csak egyetlen skálázási vezérlőpéldány fogja lekérdezni ezeket az üzenetsorokat. Ha a függvényalkalmazás nagy számú példányra skálázódik, több skálázási vezérlőpéldány is hozzáadható. Ezek a további skálázási vezérlőpéldányok növelhetik az üzenetsor-tranzakció teljes költségét.
  • Minden függvényalkalmazás-példány versenyez a blobbérletek halmazáért. Ezek a példányok rendszeres időközönként hívásokat intéznek az Azure Blob szolgáltatáshoz a fenntartott bérletek megújítása vagy új bérletek beszerzésének megkísérlése érdekében. A feladatközpont konfigurált partíciószáma határozza meg a blobbérletek számát. A nagyobb számú függvényalkalmazás-példányra való horizontális felskálázás valószínűleg növeli az azure storage-tranzakciós költségeket, amelyek ezekhez a bérletműveletekhez kapcsolódnak.

Az Azure Storage díjszabásával kapcsolatos további információkat az Azure Storage díjszabási dokumentációjában talál.

Következő lépések