[英]Call REST API from Azure Queue
將 Azure Functions 與存儲隊列觸發器一起使用時,Azure Functions 將根據隊列上的負載進行橫向擴展。 默認情況下, batchSize
設置為 16。該設置可以通過host.json
進行配置
Functions 運行時同時檢索和並行處理的隊列消息數。 當正在處理的數量下降到 newBatchThreshold 時,運行時會獲得另一個批次並開始處理這些消息。 因此,每個函數處理的最大並發消息數是 batchSize 加上 newBatchThreshold。 此限制分別適用於每個隊列觸發的函數。
當消息數量很大時,僅此設置可能不夠。 在這種情況下,您希望限制與用於執行 Function App 的 VM 數量相關的橫向擴展行為。 該設置是一個應用設置WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
。 將其設置為 1 會阻止任何擴展到新 VM,但根據文檔
此設置是一個預覽功能 - 並且只有在設置為 <= 5 的值時才可靠
雖然您的重點是處理成本,但也要考慮時間。 除非等待消息處理很長時間是可以的,否則您可能有函數的其他替代方法。 但是成本和處理時間之間的權衡總是存在的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.