AWS RDS 只读副本与应用程序交互
AWS RDS read replicas interaction with application
我对云计算还很陌生。我从未在 1 个实例之外使用过 MySQL。我试图了解 AWS RDS 只读副本如何与我的应用程序配合使用。例如说我有 1 个主副本和 2 个只读副本。然后我从我的应用程序服务器将查询发送到 AWS:
SELECT * FROM users where username = 'bob';
这现在如何运作?我是否需要在我的代码中包含更多内容以选择特定的只读副本,或者 AWS 是否会自动重新路由请求或者它是如何工作的?
亚马逊目前不提供任何类型的负载平衡或跨 RDS 服务器的其他流量分配。当您向主要 RDS 端点发送查询时,该流量的 100% 会转到主要 RDS 服务器。您必须构建您的系统以打开与每个服务器的连接并将查询分布到不同的数据库服务器。
要以对您的应用程序透明的方式执行此操作,您可以在您的应用程序和管理流量分配的数据库之间设置一个 HAProxy 实例。
使用 Elastic Load Balancer 来分配 RDS 流量是一项经常被要求的功能,但 Amazon 没有表示他们目前正在开发此功能。
我对云计算还很陌生。我从未在 1 个实例之外使用过 MySQL。我试图了解 AWS RDS 只读副本如何与我的应用程序配合使用。例如说我有 1 个主副本和 2 个只读副本。然后我从我的应用程序服务器将查询发送到 AWS:
SELECT * FROM users where username = 'bob';
这现在如何运作?我是否需要在我的代码中包含更多内容以选择特定的只读副本,或者 AWS 是否会自动重新路由请求或者它是如何工作的?
亚马逊目前不提供任何类型的负载平衡或跨 RDS 服务器的其他流量分配。当您向主要 RDS 端点发送查询时,该流量的 100% 会转到主要 RDS 服务器。您必须构建您的系统以打开与每个服务器的连接并将查询分布到不同的数据库服务器。
要以对您的应用程序透明的方式执行此操作,您可以在您的应用程序和管理流量分配的数据库之间设置一个 HAProxy 实例。
使用 Elastic Load Balancer 来分配 RDS 流量是一项经常被要求的功能,但 Amazon 没有表示他们目前正在开发此功能。