Azure功能应用程序的推荐架构

Azure功能应用程序的推荐架构,azure,azure-functions,Azure,Azure Functions,我编写了一个Azure Function应用程序,在两个API之间传输产品数据。应用程序运行大约需要20-30分钟(在此特定客户端的数据集上) 当我查看Azure中的Live Metrics监控时,我意识到Function应用程序正在运行两个服务器实例。我查看了功能应用程序的应用程序服务计划,发现最大突发被设置为20(可能是默认值) 如果我理解正确的话,20意味着Azure将启动多达20个应用程序实例(不同的虚拟机),以适应压力下的负载 我的代码的编写方式应该是每次运行时处理两个API之间传输

我编写了一个Azure Function应用程序,在两个API之间传输产品数据。应用程序运行大约需要20-30分钟(在此特定客户端的数据集上)

当我查看Azure中的Live Metrics监控时,我意识到Function应用程序正在运行两个服务器实例。我查看了功能应用程序的
应用程序服务计划
,发现
最大突发
被设置为20(可能是默认值)

如果我理解正确的话,20意味着Azure将启动多达20个应用程序实例(不同的虚拟机),以适应压力下的负载

我的代码的编写方式应该是每次运行时处理两个API之间传输的所有数据。如果我在本地机器上旋转了两个实例,那么这两个实例将并行执行相同的工作,这是一种浪费

  • 我是否正确理解向外缩放
  • 我是否应该重新编程应用程序,使其一次只处理一个产品
  • 或者我应该将Burst设置为1

  • 第一个问题:如何触发函数?HTTP?队列等等?计时器,每小时或其他时间,我建议-如果可能的话:计时器触发的功能应该只启动一个持久的功能编排器。这将为每个工作单元启动一个活动函数考虑使用中间的队列,因此一个函数将处理队列中的数据,另一个函数从队列中读取消息,这将为您提供可靠性并独立扩展每个函数。若消息大小有问题,可以将数据保存到存储器中,并使用队列引用该存储器的一部分。啊,好的。因此,您要说的是:是的,这是多个实例的工作方式,并且:是的,每次运行代码时,尽量减少代码进程-最后:您可以使用Azure队列将“要完成的工作”存储到中,然后每次运行应用程序时选择一个。对吗?第一个问题:如何触发函数?HTTP?队列等等?计时器,每小时或其他时间,我建议-如果可能的话:计时器触发的功能应该只启动一个持久的功能编排器。这将为每个工作单元启动一个活动函数考虑使用中间的队列,因此一个函数将处理队列中的数据,另一个函数从队列中读取消息,这将为您提供可靠性并独立扩展每个函数。若消息大小有问题,可以将数据保存到存储器中,并使用队列引用该存储器的一部分。啊,好的。因此,您要说的是:是的,这是多个实例的工作方式,并且:是的,每次运行代码时,尽量减少代码进程-最后:您可以使用Azure队列将“要完成的工作”存储到中,然后每次运行应用程序时选择一个。对吗?