我对扩展Azure功能和事件中心触发器有一些疑问。我知道AF应用程序在某个地方存储了一个检查点号码(我认为是Azure存储),但我想知道当AF放大或更改时这适用于什么(亲和力)。
如果重要,我使用C#DLL和VS2015作为开发人员,使用VSTS进行构建/部署。
答案 0 :(得分:3)
每个使用者组的分区保存事件中心检查点。因此,如果您的集线器有2个分区和3个用户组,则它将有6个检查点。
您可以为功能触发器明确定义使用者组:
EventHubTrigger("myhub", ConsumerGroup = "mygroup")
否则将使用默认值$Default
。那么,对你的问题:
如果给定的使用者组有现有的检查点,它将从那些检查点重新启动。
功能名称并不重要,它基于消费者群体。
重启后,应用程序将从检查点开始。
多个实例共享相同的检查点。工作原理:每个分区都将被其中一个实例锁定,因此来自该分区的事件在任何给定时间都只能由单个实例处理。相同的实例会将相应的检查点更新为新的偏移量。
新实例一旦设法锁定相应的分区,就会从现有检查点开始。
请注意,分区数量限制了可以并行处理事件的实例数量(对于一个使用者组)。