rozliczenia Durable Functions

Durable Functions są rozliczane tak samo jak Azure Functions. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure Functions.

Podczas wykonywania funkcji orkiestratora w planie Azure Functions Zużycie należy pamiętać o niektórych zachowaniach rozliczeniowych. W poniższych sekcjach opisano te zachowania i ich efekt bardziej szczegółowo.

Rozliczanie ponownego odtwarzania funkcji programu Orchestrator

Funkcje programu Orchestrator mogą powtarzać się kilka razy przez cały okres istnienia orkiestracji. Każda powtórka jest postrzegana przez środowisko uruchomieniowe Azure Functions jako odrębne wywołanie funkcji. Z tego powodu w planie Azure Functions Zużycie są naliczane opłaty za każdą powtórkę funkcji orkiestratora. Inne typy planów nie są naliczane opłaty za powtórkę funkcji orkiestratora.

Oczekiwanie i uzyskanie w funkcjach orkiestratora

Gdy funkcja orkiestratora czeka na zakończenie zadania asynchronicznego, środowisko uruchomieniowe uważa, że określone wywołanie funkcji ma zostać zakończone. Rozliczenia funkcji orkiestratora są zatrzymywane w tym momencie. Nie zostanie wznowiona, dopóki następna funkcja orkiestratora nie zostanie powtórzona. Opłaty nie są naliczane za jakikolwiek czas spędzony na oczekiwaniu na działanie funkcji orkiestratora ani ich zwracaniu.

Uwaga

Funkcje wywołujące inne funkcje są uważane przez niektóre za bezserwerowe antywzór. Jest to spowodowane problemem znanym jako podwójne rozliczenia. Gdy funkcja wywołuje bezpośrednio inną funkcję, obie są uruchamiane w tym samym czasie. Wywołana funkcja aktywnie uruchamia kod, gdy funkcja wywołująca oczekuje na odpowiedź. W takim przypadku musisz zapłacić za czas, przez który funkcja wywołująca czeka na uruchomienie wywoływanej funkcji.

W funkcjach orkiestratora nie ma rozliczeń podwójnych. Rozliczenia funkcji orkiestratora są zatrzymywane podczas oczekiwania na wynik funkcji działania lub podarancji.

Trwałe sondowanie HTTP

Funkcje programu Orchestrator mogą wykonywać długotrwałe wywołania HTTP do zewnętrznych punktów końcowych zgodnie z opisem w artykule Dotyczącym funkcji PROTOKOŁU HTTP. Interfejsy API "wywołania HTTP" mogą wewnętrznie sondowania punktu końcowego HTTP, postępując zgodnie ze wzorcem asynchronicznym 202.

Obecnie nie ma bezpośrednich rozliczeń dla wewnętrznych operacji sondowania HTTP. Jednak wewnętrzne sondowanie może spowodować, że funkcja orkiestratora będzie okresowo powtarzać. Opłaty za te powtórki funkcji wewnętrznych będą naliczane w warstwie Standardowa.

Transakcje usługi Azure Storage

Durable Functions domyślnie używa usługi Azure Storage do przechowywania trwałych stanów, przetwarzania komunikatów i zarządzania partycjami za pośrednictwem dzierżaw obiektów blob. Ponieważ jesteś właścicielem tego konta magazynu, wszelkie koszty transakcji są rozliczane w ramach subskrypcji platformy Azure. Aby uzyskać więcej informacji na temat artefaktów usługi Azure Storage używanych przez Durable Functions, zobacz artykuł Task hubs (Centra zadań).

Kilka czynników przyczynia się do rzeczywistych kosztów usługi Azure Storage ponoszonych przez aplikację Durable Functions:

  • Pojedyncza aplikacja funkcji jest skojarzona z jednym centrum zadań, które współudzieli zestaw zasobów usługi Azure Storage. Te zasoby są używane przez wszystkie trwałe funkcje w aplikacji funkcji. Rzeczywista liczba funkcji w aplikacji funkcji nie ma wpływu na koszty transakcji usługi Azure Storage.
  • Każde wystąpienie aplikacji funkcji wewnętrznie sonduje wiele kolejek na koncie magazynu przy użyciu algorytmu sondowania wykładniczego wycofywania. Bezczynne wystąpienie aplikacji sonduje kolejki rzadziej niż aktywna aplikacja, co powoduje zmniejszenie kosztów transakcji. Aby uzyskać więcej informacji na temat Durable Functions zachowania sondowania w kolejce podczas korzystania z dostawcy usługi Azure Storage, zobacz sekcję dotyczącą sondowania w kolejce w dokumentacji dostawcy usługi Azure Storage.
  • W przypadku uruchamiania w planach Azure Functions Zużycie lub Premium kontroler skalowania Azure Functions regularnie sonduje wszystkie kolejki centrum zadań w tle. Jeśli aplikacja funkcji jest w świetle do umiarkowanej skali, tylko jedno wystąpienie kontrolera skalowania będzie sondować te kolejki. Jeśli aplikacja funkcji skaluje się w poziomie do dużej liczby wystąpień, można dodać więcej wystąpień kontrolera skalowania. Te dodatkowe wystąpienia kontrolera skalowania mogą zwiększyć łączne koszty transakcji w kolejce.
  • Każde wystąpienie aplikacji funkcji rywalizuje o zestaw dzierżaw obiektów blob. Te wystąpienia będą okresowo wykonywać wywołania usługi Azure Blob Service w celu odnowienia dzierżawy przechowywanej lub podjęcia próby uzyskania nowych dzierżaw. Liczba skonfigurowanych partycji centrum zadań określa liczbę dzierżaw obiektów blob. Skalowanie w górę do większej liczby wystąpień aplikacji funkcji prawdopodobnie zwiększa koszty transakcji usługi Azure Storage skojarzone z tymi operacjami dzierżawy.

Więcej informacji na temat cennika usługi Azure Storage można znaleźć w dokumentacji cennika usługi Azure Storage .

Następne kroki