持久任務排程器是一個管理式後端服務,能持續維持編排狀態。 它的收費方式與連接到它的流程協調框架不同。 Durable Task Scheduler 不會直接對 Durable Functions 或 Durable Task SDK 收費。 您的總成本分為兩個部分:
- 耐用任務排程器——依你選擇的 SKU(專用 或 消耗型)計費
- Compute resources——由承載應用程式的平台分別計費,無論是Azure Functions(針對Durable Functions)或容器/虛擬機平台(用於Durable Task SDK)
下表將快速比較這兩種定價模型。
| 專用 | 使用量 | |
|---|---|---|
| 計費模型 | 固定每月產能單位成本(CU) | 按每個已執行的動作支付 |
| 輸送量上限 | 每個 CU 每秒 2,000 次操作(最多 3 個 CU) | 每秒500次行動 |
| 資料保留 | 最長可達90天 | 最長30天 |
| 高可用性 | 支援 (需要 3 個 CU) | 無法提供 |
| 適用對象 | 可預測量的生產作業負載 | 開發/測試與變量工作負載 |
有關最新價格,請參閱 Azure Functions 的定價頁面(其中包含耐用任務排程器的定價資訊)。
什麼是行動?
動作是由持久任務排程器發送給您的應用程式的訊息,觸發編排器、活動或實體函式的執行。 行動包括:
- 開始協調流程或子協調流程
- 開始一項活動
- 完成計時器
- 觸發外部事件
- 執行實體操作
- 暫停、繼續或終止協調流程
- 處理活動結果、實體呼叫結果、實體鎖定結果或子協調流程結果
圖表顯示如何在編排中計算動作。
範例
一個流程協調如果呼叫三個不同的活動,就會觸發以下動作:
在此範例中,Durable Task Scheduler 會處理每個動作,如下所示:
- 編排器啟動(
RunOrchestrator)使用一個動作 - 活動1(
(nameof(SayHello), "Tokyo"))使用兩個動作:- 活動排程
- 處理結果
- 活動2(
(nameof(SayHello), "Seattle"))使用兩個動作:- 活動排程
- 處理結果
- 活動 3(
(nameof(SayHello), "London"))使用兩個動作:- 活動排程
- 處理結果
專用 SKU 價格與容量
專用 SKU 透過預先分配的容量單元(CU)提供可預測的效能。 每次部署最多支援三個 CU 單位。 你可以用專用 SKU 為每個區域建立最多 25 個排程器和 25 個任務中心。 如需更多配額,請聯絡客服支援。
關鍵功能
| Feature | 說明 |
|---|---|
| 基本成本 | 每個CU的固定月費(區域定價)。 不是按每次操作計費。 |
| 績效 | 每個 CU 支援最高 2,000 次動作每秒及 50 GB 的編排資料儲存空間。 |
| 流程編排資料保留 | 最長可達90天。 |
| 自訂縮放 | 配置 CU 以符合你的工作負載需求。 每次部署需要一個 CU。 |
| 高可用性 | 多 CU 部署時具備高可用性。 至少需要三個 CU。 |
備註
高可用性部署時,請配置三個 CU。 Single-CU 部署不具備冗餘。
計算專用 SKU 的容量單位
範例 1
您有一個包含五個活動的流程協調,加上錯誤處理,平均每個流程協調有 12 個動作 (包括流程協調工具和活動叫用次數)。 我們來計算每月執行 2,000 萬次的編排作業。
| Step | 運算 | Result |
|---|---|---|
| 每月行動 | 20,000,000 × 12 | 2億4千萬次行動 |
| 每秒動作數 | 2億4千萬÷262萬8千(一個月的秒數) | ≈ 每秒91次動作 |
| 必要 CU | 91÷2,000 | 所需CU數:0.046 → 足夠1 CU |
範例 2
一大型企業每月執行 5 億次複雜的編排,平均每個編排涵蓋 15 項操作(多項活動由編排器協調)。
| Step | 運算 | Result |
|---|---|---|
| 每月行動 | 5億×15 | 75億次行動 |
| 每秒動作數 | 75億÷2,628,000 | ≈ 2,854 次動作/秒 |
| 必要 CU | 2,854÷2,000 | 所需 CU:1.43 個 → 2 個 CU 足夠 |
範例 3
軟體即服務(SaaS)平台每月支援 8 億次編排,每個平均包含 15 個動作(使用者互動、背景處理及外部 API 呼叫)。
| Step | 運算 | Result |
|---|---|---|
| 每月行動 | 8億×15 | 120億次行動 |
| 每秒動作數 | 120億÷2,628,000 | ≈ 4,571 次動作/秒 |
| 必要 CU | 4,571÷2,000 | 所需 CU:2.29 個 → 3 個 CU 足夠 |
消費SKU
Consumption SKU 採用按使用量付費模式,非常適合可變的工作負載與開發情境。
你可以在每個訂閱區域建立最多 10 個排程器,並使用 Consumption SKU 為每個排程器建立最多 5 個任務中心。 如需更多配額,請聯絡客服支援。
關鍵功能
| Feature | 說明 |
|---|---|
| 按使用付費 | 只支付已發送的動作。 無需前期費用、最低承諾或基本費用。 |
| 績效 | 支援每秒最多 500 次行動。 |
| 資料保留 | 資料保存期限最長30天。 |
範例 1
開發團隊正在測試簡單的編排,每個有三個動作(使用 「Hello City」模式),每月執行 10,000 次編排。
| Step | 運算 | Result |
|---|---|---|
| 每月行動 | 10,000 × 3 | 30,000 次行動 |
範例 2
電子商務應用程式在促銷促銷活動期間會經歷動態擴展。 它採用共七個動作的編排方式,每月約運行 20,000 次。
| Step | 運算 | Result |
|---|---|---|
| 每月行動 | 20,000×7 | 140,000 次行動 |
每月支出範例
請使用Azure Functions定價頁面(包含耐用任務排程器的定價資訊)中的區域價格,然後套用本節的公式。
消費品 SKU 月度支出範例
消耗型 SKU 會依已分派的動作數量向您收費。
| Step | 運算 |
|---|---|
| 1. 每月行動 | orchestrations per month × actions per orchestration |
| 2. 換算為百萬次操作 | monthly actions ÷ 1,000,000 |
| 3. 每月排程器支出 | (monthly actions ÷ 1,000,000) × regional price per million actions |
利用本文現有的消費範例:
| [工作負載] | 每月行動 | 每月排程器支出 |
|---|---|---|
| 範例一(10,000次×3個動作) | 30,000 | (30,000 ÷ 1,000,000) × regional price per million actions |
| 範例二(20,000 次跑× 7 個行動) | 140,000 | (140,000 ÷ 1,000,000) × regional price per million actions |
專用 SKU 每月支出範例
專用 SKU 是按已佈建的 CU 計費,而不是依操作次數計費。
| Step | 運算 |
|---|---|
| 1. 確定所需的 CU | 來自容量計算部分 |
| 2. 每月排程器支出 | provisioned CUs × regional monthly price per CU |
利用本文中已有的專門範例:
| [工作負載] | 必要 CU | 每月排程器支出 |
|---|---|---|
| 範例 1 | 1 | 1 × regional monthly price per CU |
| 範例 2 | 2 | 2 × regional monthly price per CU |
| 範例 3 | 3 | 3 × regional monthly price per CU |
Tip
你的總月成本 = 耐用任務排程器支出 + 計算平台支出。 關於計算定價,請參見 計算成本。
計算成本
除了耐用任務排程器外,你還需付費使用承載應用程式的運算平台。 你的運算成本取決於你所使用的編排框架。
Durable Functions
Durable Functions 運行於 Azure Functions。 您的運算成本取決於您選擇的 Azure Functions 主機方案:
| 主控方案 | 說明 |
|---|---|
| 消費方案 | 您只需按照函式執行的時間付費。 包含自動調整及免費月度補助。 |
| Flex 消費方案 | 事件驅動擴展與虛擬網路整合。 在處理要求期間支付執行個體,以及始終就緒的基準線的費用。 |
| 進階方案 | 避免冷啟動的已預熱執行個體,以及虛擬網路連線。 按 vCPU 和記憶體秒計費。 |
| 專用 (App Service) 方案 | 在 App Service 計畫中的專用虛擬機上執行函式。 最好的情況是當您擁有已經執行其他 App Service 執行個體的未充分利用 VM 時。 |
關於Durable Functions的詳細計費行為(重播計費、等待、HTTP 輪詢),請參見 Durable Functions計費。 Azure Functions價格請參見 Azure Functions pricing。
Durable Task SDK
Durable Task SDK 不依賴平台,能在不同的計算平台上運行:
| 計算平台 | 說明 |
|---|---|
| Azure 容器應用程式 | 無伺服器容器主機,採用按消耗或專用定價。 會根據 vCPU 和記憶體使用量計費。 |
| Azure Kubernetes Service (AKS) | 管理式 Kubernetes 叢集,你付費購買叢集中的虛擬機(節點)。 |
| Azure 應用服務 | 一個完全託管的平台,提供基於功能和規模的不同價格層級的網頁應用程式。 |
欲了解詳細價格資訊,請參閱每個計算服務的計費文件:
相關內容
快速入門:在 Azure 容器應用程式 - Azure Functions 定價(包含 Durable Task Scheduler 價格資訊)
- 吞吐量效能基準
- 選擇你的編曲框架
- Durable Functions 計費