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