![AWS 负载均衡器后面的数据库?](https://linux22.com/image/745630/AWS%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E5%90%8E%E9%9D%A2%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
我在前面放了一个负载均衡器example.com
,我相信所有的流量都会*.example.com
流向负载均衡器
我的数据库名为db.example.com
5432,正在监听
应用程序负载平衡器仅有 80 和 443 端口设置。
如何将db.example.com
流量引导至监听 5432 的 ec2 实例?
- 编辑
我有一个数据库,我不需要负载平衡数据库,只需要达到它。
答案1
我假设数据库只能由应用服务器访问,并且是幕后操作。应用服务器可以直接连接到数据库服务器,无需通过负载平衡器。您有多少个数据库服务器 - 单个还是多个?
答案2
通常,您无法使用简单的基于连接的负载平衡器对数据库进行负载平衡,并且没有额外的设计。如果您尝试这样做,您的写入将转到随机数据库,并且它们将不同步。如果您的数据库设置了同步,也许它可以工作,但它需要适当的思考和设计,而不是仅仅在数据库前面放置一个负载平衡器。您没有描述这方面的任何设计,所以我认为它没有被考虑过。
据我所知(我不是数据库专家),最好的选择是:
具有读取副本的关系数据库服务。您的写入全部发送到主服务器,而您的读取可以手动分发到从服务器。
使用数据库原生功能。我不确定您是否可以使用 RDS 来实现这一点。Oracle 在这方面具有良好的功能,但价格不菲。
请注意,RDS 多可用区不是为了扩展,而是为了可靠性。