问题描述
在Azure Function App中消费Event Hub数据,时常出现EventReceiveError:New receiver 'P3-00122a562-4fa4-7f3f-ad5e-6241adb34b15' with higher epoch of '0' is created hence current receiver 'P3-xxxxxxxx-t318-4gf5-xxxx-xxxxxxxxxxxx' with epoch '0' is getting disconnected. If you are recreating the receiver, make sure a higher epoch is used.
问题解答
这个属于正常错误提示,消费者程序(Azure Function)会为每个消息分区创建单独的消费线程,消费线程跟Event Hub的分区是一对一的关系。分区将在EPH实例之间移动,当有新的接收者程序进来时,分区会进行再分配,再分配的过程中,会出现类似上面的提示信息。
当Azure Function 的实例大于分区的时候,某一些实例是无法在任何分区上获得租约(lease) 的,这样会导致,总会有一个EPH准备好迅速抢到丢失的租约,以保持 Function App的运行,也就会看到上面的信息。
参考资料
无