Azure Event Hub / Azure函数-Singleton

时间:2019-02-10 20:36:50

标签: azure azure-functions azure-eventhub

Azure功能是否可以通过单个线程从Azure事件中心读取消息?

如下图所示,我正在尝试执行有序处理,但我认为第二个Azure Function线程正在拾取导致数据问题的事件中心消息数据。

https://medium.com/@jeffhollan/in-order-event-processing-with-azure-functions-bb661eb55428

1 个答案:

答案 0 :(得分:0)

  

Azure功能确定过载时,它会创建另一个线程,这是消耗计划中Azure功能的正常行为。

您的假设基本上是正确的,正如doc所说

  

scale控制器根据其功能触发的事件数量,通过添加Functions主机的其他实例来自动扩展CPU和内存资源

但是我也看到tutorialdoc提及

  

单个分区一次只能在一个处理器主机上拥有一个租约。这意味着多个功能实例无法从同一分区提取消息。

因此将maxBatchSize设置为1是为了避免在单个分区读取中并发。

如果这不能保证单例,建议您在“应用程序设置”中添加值为1的{​​{3}},以确保不再创建主机实例。