【问题标题】:Does RDS proxy affects current application side pooling?RDS 代理会影响当前的应用程序端池吗?
【发布时间】:2020-08-06 10:56:14
【问题描述】:

我在 AWS ECS 上有一个 Saas 应用程序,在 AWS RDS 上有一个数据库。我们计划实施 AWS RDS Proxy 以实现池化。从 RDS 代理文档中,我看到我们不需要对应用程序代码进行任何更改。目前,我们正在使用应用程序端连接池。当我们为池化实现 RDS 代理时,当前的池化有什么影响吗?

我们是否需要删除应用程序端池才能有效地使用 RDS?

我主要担心的是,如果我在 RDS 代理和应用程序池配置中选择 100% 池化,如果我们将其限制为 100 个最大连接。这会成为瓶颈吗?

【问题讨论】:

  • 我也有同样的问题,你找到解决办法了吗?或者您可以分享的更多细节?谢谢

标签: mysql proxy amazon-rds connection-pooling amazon-rds-proxy


【解决方案1】:

中间有一个数据库代理,“连接”有两条独立的腿:

  1. 首先,有一个从应用程序到代理的连接。您所谓的“应用程序端池”就是这种类型的连接。由于创建此类连接的新实例仍然存在相关开销,因此在您的应用程序中继续使用连接池可能是一个好主意。
  2. 其次,存在从代理到数据库的连接。这些连接由代理管理。这种类型的连接数由代理配置控制。如果您将此配置设置为 100%,那么您将允许代理使用最多 the database's max_connections value,而其他客户端可能无法连接。

因此,当您的应用程序想要使用连接时,它需要从其本地池中获取连接。然后,代理需要将其与数据库连接配对。代理将尽可能重用与数据库的连接(这种技术也称为multiplexing)。

或者,引用官方文档:“您可以同时打开许多到代理的连接,并且代理会保持较少数量的连接打开到数据库实例或集群。这样做进一步减少了数据库上连接的内存开销服务器。这种技术还减少了“连接过多”错误的机会。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    相关资源
    最近更新 更多