【发布时间】:2020-03-10 18:37:18
【问题描述】:
我有一个使用事件中心触发器在应用服务计划上托管的 Azure 函数。事件中心有 4 个分区。
我的问题是,如果函数只有一个实例,函数如何处理来自 4 个分区的事件?这个实例函数是否获取所有 4 个分区的租约,并轮询逐个分区处理?
【问题讨论】:
标签: azure-functions azure-eventhub
我有一个使用事件中心触发器在应用服务计划上托管的 Azure 函数。事件中心有 4 个分区。
我的问题是,如果函数只有一个实例,函数如何处理来自 4 个分区的事件?这个实例函数是否获取所有 4 个分区的租约,并轮询逐个分区处理?
【问题讨论】:
标签: azure-functions azure-eventhub
如果你想知道单个实例如何处理多个分区,azure 函数文档有一个关于它的示例:Trigger - scaling。
主要思想是当你的函数第一次启用时,只有一个函数实例,函数有一个 EventProcessorHost 实例,它持有所有十个分区的租约。此实例将从分区 0-9 读取事件。
并列出了三种情况不需要新的函数实例,增加了一个额外的函数实例,又增加了N个函数实例。
您的要求是一个实例,在文档中它说该实例将在功能缩放逻辑生效之前处理所有事件。
【讨论】:
maxBatchSize配置为1以获得完美的订单。 event hub host.json settings