为什么选择 Amazon RDS 代理?
Amazon Relational Database Service(Amazon RDS)代理是一个适用于 Amazon RDS 且极具可用性的完全托管式数据库代理,可提高应用程序的可扩展性和安全性以及对数据库故障的恢复能力。
许多应用程序,包括在现代无服务器架构上构建的应用程序,可以拥有大量与数据库服务器的开放连接,并可在高速率下打开和关闭数据库连接,从而耗尽数据库内存和计算资源。Amazon RDS 代理可使应用程序池化和共享已建立的数据库连接,从而提高数据库效率和应用程序的可扩展性。借助 Amazon RDS 代理,Amazon Aurora 和 Amazon RDS 数据库的故障转移时间最多可缩短 66%,数据库凭证、身份验证和访问可通过与 AWS Secrets Manager 和 AWS Identity and Access Management(IAM)的集成来管理。
无需更改代码即可为大多数应用程序启用 Amazon RDS 代理。您无需预置或管理任何其他基础设施即可开始使用 Amazon RDS 代理。定价很简单,基于底层数据库实例的容量。对于 Amazon Aurora Serverless v2 实例,您需要按照 Aurora 容量单位(ACU)付费,对于预置实例则按照 vCPU 付费。Amazon RDS 代理适用于 Amazon Aurora PostgreSQL 兼容版、Amazon Aurora MySQL 兼容版、Amazon RDS for PostgreSQL、Amazon RDS for MySQL、Amazon RDS for MariaDB 和 Amazon RDS for SQL Server。
Amazon RDS 代理的优势
使用案例
无服务器应用程序开发
通过 Amazon RDS 代理,您可以构建扩展性和可用性更高的无服务器应用程序,因为它们可以更高效地使用您的关系数据库。现代无服务器应用程序支持高度可变的工作负载,可能会尝试打开大量新的数据库连接,或者将许多连接保持打开但处于空闲状态。连接激增或大量打开的连接可能会使您的数据库服务器受到压力,从而导致查询速度变慢,应用程序可扩展性受限。通过池化和共享已建立的数据库连接,Amazon RDS 代理允许您高效地扩展以增加来自无服务器应用程序的连接。Amazon RDS 代理还可使您通过控制已打开的数据库连接总数来维持可预测的数据库性能。最后,Amazon RDS 代理通过拒绝可能降低数据库性能的无法使用的应用程序连接,来保持无服务器应用程序的可用性。
软件即服务(SaaS)和电子商务应用程序
SaaS 或电子商务应用程序通常会使大量数据库连接保持打开状态,以确保快速的用户响应时间,尽管这些打开的连接中只有一小部分可以在给定时刻被主动使用。这些打开但空闲的连接仍然消耗数据库内存和计算资源。您可以使用 Amazon RDS 代理使来自您的应用程序的连接保持空闲,同时只需要建立数据库连接来最佳服务活动请求,而不是过度配置数据库来支持大部分空闲连接。
运行不可预测的工作负载的应用程序
支持高度可变的工作负载的应用程序可能会尝试打开大量的新数据库连接。使用 Amazon RDS 代理中的连接治理功能,客户可以高效地重复利用数据库连接,以顺利扩展处理不可预测的工作负载的应用程序。首先,Amazon RDS 代理可使多个应用程序连接共享一个数据库连接,以高效使用数据库资源。其次,Amazon RDS 代理可使客户通过调整已打开的数据库连接数量来维持可预测的数据库性能。第三,Amazon RDS 代理将移除无法使用的应用程序请求,以保留应用程序的总体性能和可用性。