如何在AWS上平衡应用程序

我对AWS有点了解,但不是完整的图片。 如果有人能填补我的空白,那将是好事。

假设我有Web应用程序A,使用Amazon RDS B。 我有数据库中的队列,以便所有传入的请求添加队列中的行,并由我的后台进程挑选作业。

对于一个服务器,它的权利。 我想知道如何构build该应用程序,以便可以使用负载平衡器和自动缩放组进行扩展

我的疑惑是:

  1. 我知道Auto scale group在高负载情况下可以创buildA的新实例。 但是RDS呢? 假设我有4个Ec2实例,但RDS只有1个。如果是的话,RDS如何pipe理4个实例的负载

  2. 另一个是我有后台进程从队列表中拾取任务。 他们怎样才能与实例进行扩展。 任何想法,我怎么能得到更好的图片

SF不是真正的build筑build议,但我会给你一些一般的想法:

  • 使用实际的排队系统(SQS)而不是数据库会更可靠。 如果您继续使用RDS,则可能是正确的,只要在检索“队列”中的下一个作业之前locking表即可。
  • 根据队列大小设置自动缩放。 阅读文档了解如何。 您还可以根据实例的CPU使用情况进行扩展。
  • 使用弹性负载平衡器扩展您的Web应用程序