使用 AWS Aurora PostgreSQL 数据库集群连接到哪个端点进行读/写操作

Jam*_*son 6 postgresql amazon-web-services amazon-rds amazon-aurora

我有一个使用 Aurora PostgreSQL 集群的应用程序 (AWS API Gateway)。

集群有 1 个读/写(主要)和一个读取器端点。

目前,我的应用程序连接到所有操作的特定编写器实例:rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com

但我有以下端点可用:

rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com    
rds.cluster-ro-xxx.ap-southeast-2.rds.amazonaws.com
rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com 
rds-instance-1-ap-southeast-2c.xxx.ap-southeast-2.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

如果我正在执行读写操作,我应该连接到我正在使用的实例端点吗?或者我应该使用 rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com 吗?使用不同端点有什么好处?我知道如果我连接到只读端点,我只能进行读取,但对于读/写,连接到以下内容有什么区别:

rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

或者

rds-instance-1.xxx.ap-southeast-2.rds.amazonaws.com 
Run Code Online (Sandbox Code Playgroud)

?

用于一般工作负载的正确/最佳端点是什么,为什么?

Adi*_*iii 8

您应该使用集群读取器/写入器端点。

rds.cluster-xxx.ap-southeast-2.rds.amazonaws.com    
rds.cluster-ro-xxx.ap-southeast-2.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

使用集群端点的主要好处是,如果由于某种原因发生故障转移,您将不必担心端点,并且可以将服务中断降至最低。

或者,如果您有 3 个只读副本,那么您将如何设法连接读取器呢?因此最好使用集群读取器/写入器端点。

使用读取器端点

您可以使用读取器端点来实现 Aurora 集群的只读连接。此端点使用负载平衡机制来帮助您的集群处理查询密集型工作负载。读取器端点是您提供给在集群上执行报告或其他只读操作的应用程序的端点。

使用集群端点

在管理集群、执行提取、转换、加载 (ETL) 操作或开发和测试应用程序时,您可以使用集群终端节点。集群端点连接到集群的主实例。主实例是唯一可以在其中创建表和索引、运行 INSERT 语句以及执行其他 DDL 和 DML 操作的数据库实例。

实例端点

对于使用集群端点或读取器端点可能不合适的场景,实例端点提供对数据库集群连接的直接控制。例如,您的客户端应用程序可能需要根据工作负载类型进行更细粒度的负载平衡。在这种情况下,您可以配置多个客户端连接到数据库集群中的不同 Aurora 副本以分配读取工作负载。有关使用实例终端节点来提高 Aurora PostgreSQL 故障转移后的连接速度的示例

您可以查看更多详细信息AWS RDS 端点