簡體   English   中英

Cosmos DB Change Feed 的時間分辨率是多少?

[英]What is the time resolution of Cosmos DB Change Feed?

據我了解(例如從此處),Cosmos DB Change Feed 不能保證每次更新都會觸發一個事件。 例如,當對同一個文檔的兩次更新幾乎同時發生時,更改提要處理器(例如 Azure Function 監聽更改提要)可能只被觸發一次,即兩次更新中的較晚一次。 首先,我的理解正確嗎? 如是:

  1. 根據您的經驗,更新的典型最小時間間隔是多少,以便為每個事件單獨觸發更改事件? (不是精確值,只是數量級就已經有用了。)
  2. 這個時間間隔是否有 SLA?

更改提要是基於輪詢而不是基於事件的,但這取決於您使用增量 model 輪詢更改的頻率。

處理器只跟蹤每個分區讀取的最高 LSN,並請求從該書簽點開始的下一批更改(按 LSN 順序)。

每次更新文檔時,其關聯的 LSN 都會增加,因此,為了在變更源中返回特定版本,變更源處理器需要在更新文檔之前請求包含該 LSN 的批次。

對於 Azure 函數,您可以減少feedPollDelay以減少錯過更改的可能性

(可選)在耗盡所有當前更改后,輪詢分區以獲取提要上的新更改之間的延遲時間(以毫秒為單位)。 默認值為 5,000 毫秒,即 5 秒。

如果您的更改非常接近,您可能仍然會錯過它們。 有一個“ full fiddelity change feed ”選項會在某個時候出現,它將返回所有更改,但我不確定如何進入預覽或何時它會 GA 並與 Azure 功能集成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM