【发布时间】:2019-03-26 23:02:08
【问题描述】:
我正在尝试在 100% 无服务器的 aws 上构建一个应用程序(暂时减去数据库),而我遇到的问题是数据库是瓶颈。我的应用程序可以很好地扩展,但我的数据库可以容纳的连接数量有限,并且在某些时候,我的 lambdas 会遇到这个限制。我可以在我的 lambda 处理程序之外进行连接池,以便每个 lambda 容器而不是每次调用都有一个数据库连接,虽然这确实增加了在我达到连接限制之前的并发调用数量,但限制仍然存在。
我有两个问题。 1. serverless aurora 是否通过自动缩放来增加实例数量来满足更多连接的需求来解决这个问题。 2. 这个问题还有其他解决方案吗?
另外,从其他对无服务器感兴趣的开发人员那里,我是否正在尝试做一些不值得做的事情?我喜欢无服务器框架的轻松部署,但是在 Kubernetes 之类的东西中使用微服务会更好吗?
【问题讨论】:
-
你能解决这个问题吗?
-
我最终做了几件事来试图缓解这个问题。首先,我使用 cloudwatch 来保持我的 lambdas 温暖,从而避免一堆打开和未使用的连接。有一个很棒的无服务器框架插件,称为 server less-plugin-warmup。我还通过将我更短暂的数据移动到 elasticache 上的 redis 并尝试确保每个 lambda 只访问一个数据存储来减少使用的必要数据库连接的数量。这并不能彻底解决问题,但会将其推后一点。
标签: amazon-web-services aws-lambda serverless-framework serverless amazon-aurora