我正在使用适用于 Cosmos DB 的 .NET SDK V3 (3.26.0)。
根据文档,Cosmos DB Feed Change Processor 应将流量并行分配到同一部署单元中的多个实例(相同的处理器名称和租赁容器)。
我一直在尝试这样做,运行三个(甚至更多)实例,但是只有一个实例接收调用,其他实例保持空闲状态。
当接收实例停止时,我希望另一个实例几乎立即接收,而不是 在另一个实例开始接收消息之前需要几秒 (30-60)
问题:
那个文档说:
变更源处理器将使用平均分配算法,将租赁容器中的所有租赁分配给该部署单元的所有正在运行的实例,并并行计算
您的租赁集中有多少份租赁?租约是包含“所有者”财产并以 和 开头的文档,与您的
id
匹配。运行实例检测到另一个实例崩溃或突然停止所需的时间由 processorName
(
https://learn.microsoft.com/dotnet/api/microsoft.azure.cosmos.changefeedprocessorbuilder.withleaseconfiguration) 控制?view=azure-dotnet#microsoft-azure-cosmos-changefeedprocessorbuilder-withleaseconfiguration(系统可空((系统时间跨度))-系统可空((系统时间跨度))-系统可空((系统时间跨度))))默认为 17 秒(任何实例扫描已删除的潜在租约需要多长时间),而
acquireInterval
默认为 60 秒(租约被视为过期/没有租约需要多长时间)业主)。
正如所解释的,分配是租赁的。如果您有 1 个租约,因为监视器集合有一个分区,那么这就是您当前的最大值。随着收藏