繁体   English   中英

适用于物联网的AWS Lambda

[英]AWS Lambda for IoT

我目前正在使用Amazon EC2实例来处理我们的Io​​T产品的通信(开发阶段)。 我在扩展我们的实例的规格以克服将来设备的增加方面经验不足。 因此,我正在考虑使用AWS Lambda,并将所有业务逻辑从EC2实例移至lambda。 但是现在,有些事情我不理解。

  1. 在我的lambda函数的预先设置下,我可以为Lambda函数设置内存分配。 如果我将内存设置为512mb,如果我的函数需要的内存超过512mb,会自动扩展吗?

  2. 我为lambda函数设置的内存是否在每次执行时使用? 例如,我有30个需要同时处理的请求。 如果我的Lambda函数将被执行30次,这是否意味着我的30次执行最多只能使用512mb的内存? 或者我每次执行可以使用512mb的内存?

  3. 该文档指出,Amazon可能会重用功能实例。 因此,如果我同时有2个请求,并且Amazon重用了现有的函数副本,这是否意味着我的函数实例有机会一次处理两个请求?

  4. 每次发出请求时,都会建立与数据库的连接。 此连接会保留吗? 如果保留,那么在函数实例终止时连接会终止吗?

  1. 如果将内存设置设置为512MB,则每个调用将具有512MB的可用内存。 该设置定义函数每次调用将能够使用的最大值。

  2. 是的,它是按执行(调用)进行的。

  3. 它将为后续调用重用相同的功能。 它不会将函数重用于并发调用。 如果您有2个并发函数执行,则它们将由Lambda函数的2个单独实例执行。

  4. 如果在初始化Lambda函数时创建数据库连接,而不是等到调用处理程序之后再创建数据库连接,则可以在函数的单个实例的多次调用中保留该数据库连接。 但是,当函数实例终止时,它将无法正常关闭数据库连接。 我倾向于尽可能使用带有REST API的数据库(例如DynamoDB)和AWS Lambda函数,以避免处理数据库长期存在的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM