繁体   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