我有一个服务于Web请求的NodeJS服务器,用户也可以将图像上传到我的服务器。我目前正在同一台服务器上处理这些图像。这真的是一个停止间隙的解决方案,直到我可以做更好的事情,因为图像处理占用了大量的CPU,我不想在我的网络服务器上这样做。
处理类型非常简单:
我希望能够将此图像处理服务器用于许多其他服务器。我也希望它以小内存/ CPU运行。 I.E.如果我有更多的CPU /内存可用,那么我不希望它在部署在资源有限的服务器上时崩溃。
我目前处理这个的方式是我有一个配置文件,它指定我可以同时处理多少图像。如果我的资源非常有限,我将一次只处理1张图像,而其余的则排队。这现在工作正常,因为Web服务器和图像处理服务器是同一个。
我的独立图像处理服务器必须“排队”请求,以便它可以限制一次处理的图像数量。
我真的不想将图像存储在处理服务器上。主要是因为我的Web服务器知道数据结构(哪些图像属于哪些内容)。所以我真的只想向服务器发出请求并获取已处理的图像。
有些问题。
请帮忙......
答案 0 :(得分:0)
为什么不将这个过程分解为不连续的步骤。
用户上传图片。获取某种确认消息,表明图像已成功上传并正在处理中。
将图像处理请求放入队列。
执行图像处理。
通知用户图像处理已完成。
这符合您的要求,因为用户可以在短时间内上传许多图像而不会使系统过载(它们只是进入队列),图像处理可以在单独的服务器上进行,而无需移动文件)