問題描述
在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的運作,也就會看到上面的資訊。
參考資料
無
當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!