AWS 有点新。我有一个高层次的问题。我正在寻找有关总体架构和工作流程的一些见解,而不需要深入细节。 所以:我需要在客户端上安装一个 React 应用程序,称为 AWS。反过来,在服务器上,某些代码将向某些第三方发送队列消息以执行某些操作。在等待响应时,React 应用程序将显示状态更新,这意味着服务器上发生的操作的不同阶段。一切完成后,它会显示响应。
这就是我构建它的方式:React 调用 API 网关,API 网关又调用 Lamba 函数,然后调用 SQS 并在某个队列上发送消息。但我不确定的是:
非常感谢任何类型的知识答案。再说一次,只是高层架构低细节。剩下的我自己想办法。
谢谢!
您发送请求,您就会收到响应。为了发送响应,您需要保持到达 lambda 的请求“打开”(=lambda 正在运行,即轮询一些结果)。我不能推荐。
如果您想像这样(=客户端发送请求,它将打开几秒钟,直到您想要的所有内容都得到解决,然后发送响应),请使用 Fargate。 (你必须提供docker镜像,而不仅仅是代码,但它基本上也是无服务器的,你不必关心任何事情)。单个容器通常可以处理数百个并发请求。
使用容器,您还可以使用 Websockets,它本质上可以做您想做的事情(您不必进行长时间轮询/状态轮询,您可以通过 websocket 从后端主动更新客户端)。
使用无服务器的最简单解决方案可能是使用 3 个以上的 lambda: