[英]AWS Lambda for IoT
我目前正在使用Amazon EC2实例来处理我们的IoT产品的通信(开发阶段)。 我在扩展我们的实例的规格以克服将来设备的增加方面经验不足。 因此,我正在考虑使用AWS Lambda,并将所有业务逻辑从EC2实例移至lambda。 但是现在,有些事情我不理解。
在我的lambda函数的预先设置下,我可以为Lambda函数设置内存分配。 如果我将内存设置为512mb,如果我的函数需要的内存超过512mb,会自动扩展吗?
我为lambda函数设置的内存是否在每次执行时使用? 例如,我有30个需要同时处理的请求。 如果我的Lambda函数将被执行30次,这是否意味着我的30次执行最多只能使用512mb的内存? 或者我每次执行可以使用512mb的内存?
该文档指出,Amazon可能会重用功能实例。 因此,如果我同时有2个请求,并且Amazon重用了现有的函数副本,这是否意味着我的函数实例有机会一次处理两个请求?
每次发出请求时,都会建立与数据库的连接。 此连接会保留吗? 如果保留,那么在函数实例终止时连接会终止吗?
如果将内存设置设置为512MB,则每个调用将具有512MB的可用内存。 该设置定义函数每次调用将能够使用的最大值。
是的,它是按执行(调用)进行的。
它将为后续调用重用相同的功能。 它不会将函数重用于并发调用。 如果您有2个并发函数执行,则它们将由Lambda函数的2个单独实例执行。
如果在初始化Lambda函数时创建数据库连接,而不是等到调用处理程序之后再创建数据库连接,则可以在函数的单个实例的多次调用中保留该数据库连接。 但是,当函数实例终止时,它将无法正常关闭数据库连接。 我倾向于尽可能使用带有REST API的数据库(例如DynamoDB)和AWS Lambda函数,以避免处理数据库长期存在的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.