【发布时间】:2020-08-07 14:44:23
【问题描述】:
我正在开发一个包含图像处理的网络项目。我把它实现为一个天蓝色的功能。但是,我在扩展时遇到了一些问题。 一般要点是用户发送一组图像进行处理(一组包含 100-1000 张图像)。每个图像的处理可以并行执行。每个图像处理请求都作为单独的事件发送到事件网格。然后事件触发的函数 A 创建一个 JSON blob,然后由 blob 触发的函数 B 处理。函数 A 处理需要 1 秒,而函数 B 处理时间大约是 1 分钟。
我的问题是扩展功能 B 的限制和速度。功能 B 的单次执行大约需要 1 分钟。但是,处理 1000 张图像大约需要 15-20 分钟,而最大实例数约为 100 个。
有没有办法强制快速缩放以使 azure 函数的实例数与等待处理的图像数相匹配?例如,当我收到 1000 个处理请求时,我立即旋转 500 个实例。
有没有办法超越消费计划中200个azure函数实例的限制?
您是否建议考虑其他技术以使该项目能够快速扩展?
【问题讨论】:
-
您能否为您正在执行哪种图像处理、调整大小、对象检测等问题添加上下文?能够推荐选项
-
这是一个对象检测。结果是一个简单的 JSON,用于在管道的下游进行一些计算。
-
同样重要的是,主要算法是用 c++ 编写的,并在由 azure 函数执行的自定义 dll 中交付。
标签: azure-functions autoscaling