AWS Lambda函数状态(zappa)

时间:2018-01-16 00:09:26

标签: python amazon-web-services lambda state zappa

我认为通过添加内部缓存来优化flask app lambda服务器,以便相对较慢地更改数据(例如,站点下拉可能每年更改几次)。我使用zappa部署到lambda。它有意义吗?或者每次处理请求时都会闪存。我知道我不能依赖来保存状态,我的目标是在不浪费一些redis实例的情况下优化性能,更不用说ElastiCache了。

更新:是的,无服务器部署框架如zappa回收状态,所以为什么我不应该。在hackernoon博客下面更详细地讨论州回收

https://hackernoon.com/write-recursive-aws-lambda-functions-the-right-way-4a4b5ae633b6

  

虽然Lambda的功能在设计上是短暂的,但容器仍然存在   重用于优化,这意味着您仍然可以利用内存   通过调用持久化的状态。

不确定是否可以使这样的缓存无效,env变量很可能是lambda实例的本地,http, sns可能很难/很贵。

1 个答案:

答案 0 :(得分:1)

是的,那不会与Lambda合作。

你必须使用某种第三方缓存。

如果仅缓存您的GET请求对您来说足够好,您可以使用CDN。

我个人使用CloudFlare CDN缓存 n 分钟的所有 GET 请求。并且您可以免费获得很多的请求。 您只需定义自定义页面规则即可缓存特定网址格式的所有内容。

CloudFlare Page Rule

当然,CloudFront(保持在AWS生态系统中)或大多数其他CDN都可以做同样的事情。