[英]What is the time resolution of Cosmos DB Change Feed?
據我了解(例如從此處),Cosmos DB Change Feed 不能保證每次更新都會觸發一個事件。 例如,當對同一個文檔的兩次更新幾乎同時發生時,更改提要處理器(例如 Azure Function 監聽更改提要)可能只被觸發一次,即兩次更新中的較晚一次。 首先,我的理解正確嗎? 如是:
更改提要是基於輪詢而不是基於事件的,但這取決於您使用增量 model 輪詢更改的頻率。
處理器只跟蹤每個分區讀取的最高 LSN,並請求從該書簽點開始的下一批更改(按 LSN 順序)。
每次更新文檔時,其關聯的 LSN 都會增加,因此,為了在變更源中返回特定版本,變更源處理器需要在更新文檔之前請求包含該 LSN 的批次。
對於 Azure 函數,您可以減少feedPollDelay
以減少錯過更改的可能性
(可選)在耗盡所有當前更改后,輪詢分區以獲取提要上的新更改之間的延遲時間(以毫秒為單位)。 默認值為 5,000 毫秒,即 5 秒。
如果您的更改非常接近,您可能仍然會錯過它們。 有一個“ full fiddelity change feed ”選項會在某個時候出現,它將返回所有更改,但我不確定如何進入預覽或何時它會 GA 並與 Azure 功能集成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.