我最近设置了一个只读副本,以减轻我的 Amazon 多可用区 RDS 实例的部分读取负载。亚马逊文档明确指出,“由您的应用程序决定如何在只读副本之间分配读取流量”。
有人找到了一种可管理的方法来扩展只读副本吗?将我的应用程序的不同部分硬编码为从特定副本读取,这似乎不是一个非常可扩展的解决方案。有没有一种方法可以进行设置,类似于将 EC2 实例置于负载均衡器后面?
AWS 工程师对这个问题提供了一些见解here http://www.quora.com/What-is-the-best-way-to-distribute-read-traffic-among-Amazon-RDS-read-replicas.
以下是他的回应的片段:
一般来说,您可以在以下 3 个逻辑位置对流量进行负载平衡:
- 应用程序层 - 创建多个连接池并将所有读取发送到只读副本。
- Web 框架/中间件 - 一些 Web 框架具有对多个数据库的内置支持 [1]。
- 外部代理 - 您可以使用外部代理,例如 MySQLproxy [2]。
[1] - https://docs.djangoproject.com/en/dev/topics/db/multi-db/ https://docs.djangoproject.com/en/dev/topics/db/multi-db/
[2] - https://launchpad.net/mysql-proxy https://launchpad.net/mysql-proxy
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)