Azure功能是否可以通过单个线程从Azure事件中心读取消息?
如下图所示,我正在尝试执行有序处理,但我认为第二个Azure Function线程正在拾取导致数据问题的事件中心消息数据。
https://medium.com/@jeffhollan/in-order-event-processing-with-azure-functions-bb661eb55428
答案 0 :(得分:0)
Azure功能确定过载时,它会创建另一个线程,这是消耗计划中Azure功能的正常行为。
您的假设基本上是正确的,正如doc所说
scale控制器根据其功能触发的事件数量,通过添加Functions主机的其他实例来自动扩展CPU和内存资源
单个分区一次只能在一个处理器主机上拥有一个租约。这意味着多个功能实例无法从同一分区提取消息。
因此将maxBatchSize设置为1是为了避免在单个分区读取中并发。
如果这不能保证单例,建议您在“应用程序设置”中添加值为1
的{{3}},以确保不再创建主机实例。