Azure 函数快速扩展超过 200 个实例
Azure function rapid scaling beyond 200 instances
我正在从事一个包含图像处理的网络项目。我将它实现为一个 azure 函数。但是,我在扩展方面遇到了一些问题。
一般要点是用户发送一组图像进行处理(一组包含 100-1000 张图像)。每个图像的处理可以并行执行。每个图像处理请求都作为单独的事件发送到事件网格。然后事件触发函数 A 创建一个 JSON blob,然后由 blob 触发函数 B 处理。函数 A 处理需要 1 秒,而函数 B 处理时间大约为 1 分钟。
我的问题是扩展功能 B 的限制和速度。功能 B 的单次执行大约需要 1 分钟,这是预期的。然而,处理1000张图像大约需要15-20分钟,而最大实例数在100左右。
有没有办法强制快速缩放以匹配 azure 函数的实例数与等待处理的图像数?例如,当我收到 1000 个处理请求时,我立即旋转 500 个实例。
有没有办法突破消费计划中 200 个 azure 函数实例的限制?
为了让这个项目能够快速扩展,您是否建议考虑另一种技术?
虽然没有办法超过 200 个限制,但您可以部署多个功能应用程序来解决它,同时使用服务总线队列中消息的两个功能 运行。
函数 B 不是 blob-triggered 函数,而是使用 blob creation events sent to the queue via Event Grid.
使其成为服务总线队列触发函数
此外,如果您的函数是计算密集型函数,您也可以考虑 premium plan,这可能会减少运行时间。
我正在从事一个包含图像处理的网络项目。我将它实现为一个 azure 函数。但是,我在扩展方面遇到了一些问题。 一般要点是用户发送一组图像进行处理(一组包含 100-1000 张图像)。每个图像的处理可以并行执行。每个图像处理请求都作为单独的事件发送到事件网格。然后事件触发函数 A 创建一个 JSON blob,然后由 blob 触发函数 B 处理。函数 A 处理需要 1 秒,而函数 B 处理时间大约为 1 分钟。
我的问题是扩展功能 B 的限制和速度。功能 B 的单次执行大约需要 1 分钟,这是预期的。然而,处理1000张图像大约需要15-20分钟,而最大实例数在100左右。
有没有办法强制快速缩放以匹配 azure 函数的实例数与等待处理的图像数?例如,当我收到 1000 个处理请求时,我立即旋转 500 个实例。
有没有办法突破消费计划中 200 个 azure 函数实例的限制?
为了让这个项目能够快速扩展,您是否建议考虑另一种技术?
虽然没有办法超过 200 个限制,但您可以部署多个功能应用程序来解决它,同时使用服务总线队列中消息的两个功能 运行。
函数 B 不是 blob-triggered 函数,而是使用 blob creation events sent to the queue via Event Grid.
使其成为服务总线队列触发函数此外,如果您的函数是计算密集型函数,您也可以考虑 premium plan,这可能会减少运行时间。