我想要一个架构设计建议.
我有一个由公共Node.JS API服务器(处理客户端HTTP请求)组成的projet。
我的项目的目的是将图像转换为视频(我使用ffmpeg作为CLI,它可能需要一些时间)
业务工作流程应如下:
1)用户向API发送图像URL和电子邮件(作为POST参数)
2) API应该响应"OK 200“,然后发送一封包含图像视频的电子邮件。
这里是我的想法(以及我当前的程序所做的):
1) nodeJS API直接响应客户端的"OK 200“
2) nodeJS服务器使用npm axios库异步下载图像,然后将映像保存到当前目录,然后异步启动一个重工具将图像转换为视频(可能需要一些时间),然后发送电子邮件给客户端。
在我的设计中,一切都发生在同一个服务器上(NodeJS API)。我认为这根本不是一个好的设计,我应该将Nodejs和繁重的任务视频处理服务器分开。但是,这种分离意味着将映像从服务器传送到另一个服务器,而我不知道如何做到这一点。
我认为我可以在AWS上使用一些有用的服务,但是我不知道哪一个和如何使用。
是否有可能帮助我设计这个应用程序(我可以使用哪些云服务?)
发布于 2020-03-06 12:57:33
所以,你需要某种编曲工具。您可以查看AWS StepFunctions。每个步骤将在异步模式下完成,状态将被处理。对于下载步骤,您可以在容器(例如ECS)和S3上使用任何类型的存储。对于处理-同样的方式,或者,在简单的格式/大小转换情况下,您可以使用AWS弹性转换编码器。发送电子邮件可能是唐通过SNS。
它有很多运动部件,所以这不仅仅是一种方法
https://stackoverflow.com/questions/60564405
复制相似问题