【问题标题】:Can I use Amazon ELB for my RDS instance for load balancing?我可以将 Amazon ELB 用于我的 RDS 实例以实现负载平衡吗?
【发布时间】:2023-03-29 05:08:01
【问题描述】:

我有两个问题:

  1. 我可以在我的 RDS 实例上使用 ELB 进行负载均衡吗?
  2. 我可以在 EC2 实例上安装多个服务器并为所有服务器运行单个 ELB 实例吗?

【问题讨论】:

标签: amazon-ec2 load-testing amazon-rds amazon-elb


【解决方案1】:

1-如果你的意思是只有一个 RDS 实例,那么在它前面的负载均衡请求是没有意义的。如果您的意思是拥有多个 RDS 实例,那么负载平衡请求也没有多大意义,因为您的数据库服务器很可能在给定时间点拥有不同的数据。我可以看到这条规则的唯一例外是如果您有只读 RDS 实例。在这种情况下,您可能会受益于在它们前面放置 ELB。如果您的应用程序是写密集型的,您应该坚持使用更大的 RDS 实例或迁移到 noSQL 数据库。不要尝试将请求负载平衡到读/写 DMBS,因为您将不得不自己处理同步和许多其他(重要)方面。

2-是的,这是完全可行的。当然,对于 Web 服务器。通常不适用于 DBMS。

【讨论】:

  • 在RDS slave之间为读操作进行负载均衡是完全合理的。
  • 我同意,但即使 OP 没有提到他没有使用只读实例,他也没有提到他是。无论如何,感谢您的评论。
【解决方案2】:
  1. 尽管将 ELB 附加到 RDS 的所有原因,AWS 目前不提供将 ELB 连接到 RDS 的功能。 ELB 仅适用于 EC2 实例。

  2. 是/否,您可以在 EC2 实例上安装不同的服务,但不能在 EC2 实例上安装具有不同端口的相同服务。 ELB 负载均衡 相同的服务到相同的端口,但它可以在一个 ELB 上提供多种服务。它还只提供了一种健康检查功能,因此如果一个服务死亡,即健康检查点,则所有其他服务将同时被 ELB 阻止。

【讨论】:

    【解决方案3】:

    对于问题 1,我可以想到两个选项。一种是将数据库放入 EC2 实例中,方法是将其放入该实例的 AMI。您需要将写入写入所有数据库或让它们共享驻留在 EFS 中的数据。另一种选择是使用 Route 53 和私有托管区域在 RDS 实例之间提供负载平衡。同样,如果他们使用 EBS,则需要对所有数据库进行所有写入,除非数据库驻留在 EFS 中。

    最终,您将需要尝试不同的配置并评估性能,以了解哪种配置最适合您的特定要求。

    对于问题 2,我不明白您在问什么,因为我认为服务器和 EC2 实例之间存在一对一的关系。它们之间有什么区别,因此您将一件事称为服务器,将另一件事称为 EC2 实例? ELB 在同一 VPC 和区域内的多个可用区上工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多