AWS Lambda + AWS Websocket API 是如何工作的?

How does AWS Lambda + AWS Websocket API work under the hood?

我知道它会为 Websocket API 上的不同路由(如连接、断开、默认等)调用不同的 Lambda 实例。但是对于同一路由上的不同消息会发生什么情况,它是否会为新消息保留 Lambda 实例 运行 直到断开连接?

比方说,我正在构建一个带有 2FA 的登录表单。我获取用户名、密码并对其进行处理,然后我想要来自客户端的 2FA 代码。我可以使用单个 Lambda 实例执行此操作吗?

正如评论者 deceze 所写:

您永远不能假设单个 Lambda 实例 会处理一个请求。

无服务器 的要点是您无需管理服务器。亚马逊有。他们可以并且将会启动您的 Lambda 的新实例,终止现有实例等。

所以如果你需要“交叉调用持久化”,你需要用不同的方式来解决这个问题。一种常见的方法是使用 DynamoDB 或根据用例 ElastiCache、S3、EFS 等