我有两个问题:
答案 0 :(得分:7)
1 - 如果您的意思是只有一个RDS实例,那么在它前面的负载平衡请求就没有意义了。如果您的意思是拥有多个RDS实例,那么对负载均衡请求也没有多大意义,因为您的数据库服务器很可能在给定的时间点内具有不同的数据。我可以看到这个规则的唯一例外是你有只读RDS实例。在这种情况下,您可能会受益于在他们面前使用ELB。如果您的应用程序是写密集型的,则应该使用更大的RDS实例或转移到noSQL数据库。不要尝试将请求加载到读/写DMBS,因为您必须自己处理同步和许多其他(非平凡)方面。
2 - 是的,这是完全可行的。当然,对于Web服务器。一般不适用于DBMS。
答案 1 :(得分:0)
尽管将ELB附加到RDS的所有原因,AWS目前还没有提供将ELB连接到RDS的功能。 ELB仅使用EC2实例。
是/否,您可以在EC2实例上安装不同的服务,但无法在EC2实例上安装具有不同端口的相同服务。 ELB负载平衡相同服务到相同端口,但它可以在ELB上提供多个服务。它还只提供一个健康检查功能,因此如果一个服务已经死亡,这是健康检查点,ELB将同时阻止所有其他服务。
答案 2 :(得分:0)
对于问题1,我可以想到两个选择。一种是通过将数据库放入该实例的AMI来将其放入EC2实例。您需要将写操作写入所有数据库,或者让它们共享EFS中驻留的数据。另一种选择是使用Route 53和专用托管区域在RDS实例之间提供负载平衡。同样,如果他们使用EBS,则除非数据库驻留在EFS中,否则将需要对所有数据库进行所有写操作。
最终,您将需要尝试不同的配置并评估性能,以了解哪种配置最适合您的特定需求。
对于问题2,我不明白您的要求,因为我想到了服务器与EC2实例之间的一对一关系。它们之间有什么区别,因此您将一件事称为服务器,另一件事称为EC2实例? ELB在同一VPC和区域内的多个可用性区域上工作。