【发布时间】:2018-06-20 04:00:08
【问题描述】:
我想问一下这个设计中可能存在的错误:
我在访问 RDS 的 VPC 中有 AWS Lambda。由于冷启动,它非常慢(很大一部分是因为访问 RDS,因为 lambda 必须创建 ENI)
现在,如果我在访问 RDS 之前展示 DynamoDB 会怎样?如果dynamodb中没有记录,我会在下一步访问RDS。
这会提高系统的整体性能吗?
谢谢
【问题讨论】:
-
我更喜欢使用 AWS Elasticache Redis 或 Memcached 而不是 Dynamodb。
-
我一开始也是这么想的。但是AWS Elasticache也会有VPC冷启动+创建ENI的惩罚
-
AWS Elasticcache 甚至没有被驱动,因此配置将发生在它需要创建 ENI 的地方。您可以使用 CloudWatch 让您的 Lambda 保持热状态,以避免冷启动,而且不会花费太多。
-
啊好吧.. 但是从 RDS 和 Elasticache 创建 ENI 的行为是相似的吧?而且我的 lambda 中有 100 多个函数(每个函数都用于 REST API)。 ping 所有功能是个好主意吗?
-
不要ping所有功能。专注于会影响性能感觉的应用程序区域。
标签: amazon-web-services aws-lambda amazon-dynamodb amazon-rds amazon-vpc