我对AWS Lambda无服务器架构的理解是否正确?

时间:2018-05-30 05:42:02

标签: aws-lambda

我正在考虑将AWS lambda无服务器架构用于我的下一个项目。这是我对该技术的理解,如果有人能够纠正我,我将非常感激。

  • 您可以部署充当事件处理程序的函数。
  • 事件处理程序配置为响应所提供的任何事件
  • 在使用Javascript编写lambda函数的情况下,您可以要求编写并使用它们的任何其他Javascript模块。
  • 所有lambda及其所需的模块都是无状态的。您应用的状态最终会保存在数据库中。

如果您想编写一些有状态逻辑,例如保留一个HTTP请求的结果并暂时将其存储在某个地方并在后续请求中查找,那么这在Lambda中是不可能的吗?

1 个答案:

答案 0 :(得分:1)

关于您的问题,lambdas可以使用临时目录/tmp来存储文件。这有500MB的限制。由于lambda容器可以重用性能,因此有可能该文件仍然存在于下一个lambda调用中。这是不鼓励的,但在某些特定情况下可能会有所帮助。无论如何,如果你真的需要它,更好的方法是使用缓存系统。

除了您的考虑因素之外,AWS Lambdas还不适合:

  • 保持状态,就像下载的文件一样,以后可以重复使用。
  • 处理操作系统
  • 长时间运行的任务
  • 硬延迟要求应用。
  • 根据数据库客户端,多个并发lambda会导致数据库连接的开销,因为客户端是为每个lambda实例化的。