是否可以将多个Lambda函数定义部署到同一容器实例?
我了解到,给定的Lambda容器一次最多只能执行一个功能,但是想了解功能与宿主容器之间的组成关系。
例如,在具有AWS Toolkit扩展的Visual Studio的无服务器应用程序项目类型中,可以在单个项目中定义多个功能,但是这些功能是否通过CloudFormation部署到了单独的容器或代表项目的单个容器中?
答案 0 :(得分:1)
我认为分离出该过程可能会有所帮助:
作为优化,AWS 确实通过冻结和解冻容器来重新使用实例。这是因为启动一个全新的容器,复制部署以及执行部署的初始化代码(称为冷启动)是很昂贵的。
答案 1 :(得分:0)
没有关于此事的正式文件,但我将分享我过去几年从Docs / Posts / Conferences中收集的信息:
Lambda函数是容器化服务之上的“框架”(或类似的东西,只是我能想到的那个词,也是我从AWS代表那里听到的唯一词)。
您可以假设容器实例(使用实例,如在ECS中使用的实例,是一台主机)是相同的,请记住有一些数据库连接池的解决方法以及喜欢,但没人能保证。
答案 2 :(得分:0)
CloudFormation会将功能部署到相同的AWS账户。这是在AWS用户帐户级别发生的。它没有运行功能。
Lambda由事件驱动,仅在被触发时运行。就用户体验而言,每个Lambda实例都是独立的,并在触发时“部署在其自己的容器中”。
也许在抽象层之下正在发生更深层次的事情,但这就是您将经历的方式。
答案 3 :(得分:0)
我通过使用ExpressJS + NodeJS做到了这一点。每个函数都是不同的ExpressJS路由。但是,到目前为止,我还无法使用Spring Cloud Function做到这一点。