将应用程序连接到 Amazon Aurora RDS 实例

Connecting App To an Amazon Aurora RDS Instance

我通读了 AWS RDS 文档,发现在将应用程序连接到 Aurora 集群时可以使用多种端点选项。您可以通过集群终端节点、主终端节点或副本终端节点进行连接。

我的问题是,如果我使用集群端点,我是否能够利用读取缩放,或者是否只会命中主实例进行读取?

如果这不起作用,我想替代方案是在读取时随机 select 一个只读副本,或者在副本前面有一个负载均衡器,只使用它的地址阅读。

如果集群端点不扩展读取工作负载,请告知正确的方法是什么。我正在使用 ORM 框架来控制与 Aurora 数据库集群的数据访问交互。

我最近遇到了同样的问题,发现 Amazon 将 Aurora 设计为仅通过使用多个读取端点来扩展读取。集群端点指向主实例,似乎是写入极光实例的唯一方式。您必须在应用程序中拆分请求类型,或者可以使用代理来完成类似的事情。

文档:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html

The cluster endpoint connects you to the primary instance for the DB cluster.

您可以使用读取端点对 Aurora 副本之间的读取连接进行负载平衡。请注意,这只会平衡 连接 而不是查询。平衡查询将是您的应用程序的责任。

作为奖励,如果您使用读取端点并且在不同的可用区中有多个副本,那么 AWS 将在 AZ 发生故障时故障转移您的读取连接。

您现在可以通过单个 reader 端点连接到 Amazon Aurora 集群上的所有只读副本。到目前为止,您可以使用集群端点连接到集群中的主实例,或使用实例端点将查询定向到 Aurora 集群上的特定实例。

Reader End Point for Amazon Aurora