Aws lambda AWS Lambda可以用作getstream.io的后端吗?

Aws lambda AWS Lambda可以用作getstream.io的后端吗?,aws-lambda,getstream-io,Aws Lambda,Getstream Io,我没有找到任何与此主题相关的帖子。使用Lambda作为getstream后端似乎很自然,但我不确定它是否严重依赖于持久性连接或其他将其排除在外的体系结构选择。这是明智的做法吗?有人成功了吗?有什么建议吗? < P>你可以在LAMBDA中建立一个完整的网站,你必须考虑以下内容: API网关后面的Lambda的超时限制为30秒,有效负载大小限制(接收和发送)为6MB。虽然在大多数情况下,这是可以的,但如果您有一些非常大的操作或需要发送一些非常大的数据(如高分辨率图像),您不能使用这种方法,但您需要

我没有找到任何与此主题相关的帖子。使用Lambda作为getstream后端似乎很自然,但我不确定它是否严重依赖于持久性连接或其他将其排除在外的体系结构选择。这是明智的做法吗?有人成功了吗?有什么建议吗?

< P>你可以在LAMBDA中建立一个完整的网站,你必须考虑以下内容:

  • API网关后面的Lambda的超时限制为30秒,有效负载大小限制(接收和发送)为6MB。虽然在大多数情况下,这是可以的,但如果您有一些非常大的操作或需要发送一些非常大的数据(如高分辨率图像),您不能使用这种方法,但您需要考虑其他问题(例如,您可以向另一个具有更高超时的Lambda函数发送SNS,该函数可以异步执行所有这些操作,然后在完成后将结果发送给客户端,假设客户端能够接收事件)
  • < LIBDA有冷启动,这就意味着当客户端第一次调用它们时,你的API会慢下来。冷启动时间取决于你正在做的LAMBDAS语言,所以你也可以考虑这个问题。如果你使用C或java来做你的lambda,这可能不是最好的选择。从这个角度来看,Node.JS和随着Golang的崛起,Python似乎是最好的选择。你可以找到更多关于它的信息。顺便说一句,你现在可以为你的Lambda指定一个
    配置吞吐量
    ,它旨在解决冷启动问题,但我还没有使用它,所以我不知道是否有任何区别(但我肯定有)
  • 如果操作正确,您将管理数百个Lambda函数,而在ECS下使用标准Docker容器,您将管理几个具有多个端点的API。这一点不应低估,因为从一方面来说,它将使将来的更改更容易,因为Lambda很小,您将很容易发现错误并修复它,但在另一方面,你必须跨越这些函数,如果你不知道lambda具体负责什么,这可能是一个漫长的过程
  • 据我所知,Lambda无法处理会话。因为在Lambda容器被丢弃一段时间后,您无法在Lambda本身中存储任何会话。您始终需要一个结构来存储会话,以便它可以在多个Lambda调用中共享,例如DynamoDB表中的一些记录或其他内容,但这意味着t您必须为此编写代码,而在经典API(如.NET Core API)中,所有这些都由语言本身处理,您只需要存储或检索会话中的项(大多数情况下)

所以…是的!完全用Lambda编写的备份是可能的。我所在的公司这样做了,而且我必须说,无论是在速度还是开发时间方面,都要好得多。但是这些好处是后来才出现的,因为你需要面对我前面列出的所有原因,而且不像看上去那么容易

是的,你可以使用AWS Lambda作为后端并在那里与流API集成

直接在Lambda上构建一个完整的应用程序将是非常复杂的,需要编写大量的boiler-plate代码,以便在项目中实施一些基本的组织和结构

我的建议是使用一个无服务器的框架来实现这一点,该框架负责保持应用程序的良好组织,并部署新版本(和环境)


无服务器是一个很好的选择:

我不知道为什么这被否决,但我想这对你来说是Stackoverflow。感谢上传限制。我确实想上传电影和图像,所以这是一件事。我有很多无服务器的经验,所以这一部分不会吓到我,我只是不想走getstream不支持的路。