我们构建了一个服务的第一个版本,它需要接收图像和 pdf 文件,然后对每个文件进行大量处理,并为我们构建的 Web 和移动客户端提供几个调整大小的变体。
在处理方面,我们执行:
- 适用于网络和移动设备的 9 种图像尺寸变体
- 300dpi 图像的平铺(a-la 地图平铺)
- 5 图像处理和机器学习/标记过程
在对整个管道进行串行测试时,大约需要 18 分钟来处理大约 120 张图像。
我们正试图大幅缩短这一时间。当然,一件事是并行进行各种处理,只有少数依赖项,例如,在生成几个关键变量之前,我们无法处理图像处理/机器学习步骤。
从架构的角度来看,我们希望从 Web 层卸载所有处理,但还需要将图像提供给 Web/移动客户端。我们一直在研究诸如 openmpi、hadoop、zeromq 之类的东西来并行化事物,以及 hdfs、gluster、luster 来解决存储/规模问题。
寻找可以拼接在一起的任何参考架构或工具,以便我们可以逐步改进我们的设置。