gpt4 book ai didi

node.js - 分离网络服务器和处理服务器

转载 作者:行者123 更新时间:2023-12-04 23:13:06 25 4
gpt4 key购买 nike

我想要一个架构设计建议。

我有一个由公共(public) Node.JS API 服务器组成的项目(处理客户端 HTTP 浏览器请求)

我的项目的目的是将图像转换为视频 (我使用 ffmpeg 作为 CLI 执行此操作,这可能需要一些时间)

业务流程应如下所示:

1) 用户将图像 URL 和他的电子邮件(作为 POST 参数)发送到 API

2) API 应响应“OK 200”并稍后发送包含图像视频的电子邮件

这是我的想法(以及我当前的程序所做的):

1)nodeJS API直接向客户端响应“OK 200”

2)nodeJS服务器使用npm axios库异步下载图片,然后将该图片保存到当前目录,然后异步启动一个重型工具转换
将图像转换为视频(可能需要一些时间),然后向客户发送电子邮件。

在我的设计中,一切都发生在同一台服务器(NodeJS API)上。
我认为这根本不是一个好的设计,我应该将 Nodejs HTTP API 和繁重的视频处理服务器分开。
但是,这种分离意味着将图像从服务器传送到另一个服务器,我不知道该怎么做。

我认为我可以在 AWS 上使用一些有用的服务,但我不知道是哪一种以及如何使用。

是否可以帮助我设计此应用程序(以及我可以使用哪些云服务?)

最佳答案

因此,您需要某种编排工具。您可以查看 AWS StepFunctions。每个步骤都将在异步模式下完成,并且将处理状态。对于下载步骤,您可以在容器(例如 ECS)和 S3 上使用任何类型的存储。对于处理——同样的方式,或者,在简单的格式/大小转换的情况下,您可以使用 AWS Elastic Transcoder。可以通过 SNS 发送电子邮件。

它有很多事件部件,所以这不仅仅是一种方法

关于node.js - 分离网络服务器和处理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60564405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com