为区域负载均衡和单个数据库deviseEC2

我之前已经构build了EC2托pipe解决scheme,但现在我正在构build的应用程序更先进,我希望能够看到我是否正确。 该系统正在托pipe一个移动应用程序API,其stream量可能会从北美各地涌入。 我们仍在缩小预期水平,但预计会有严重的交通。 主要的操作是数据库读取,但也包括比例较小的写入。

这是我期待的布局。 有没有严重的问题,或者我可以做些什么来改善?

  • 大RDS实例存储的一切(实际大小取决于研究的stream量)
  • 弹性负载平衡器将stream量引导至
  • 不同区域和地区的小型实例在地理上分散负载

我们的API不包含任何静态内容,如图像,所以每个EC2实例可以指向核心RDS卷,负载平衡器可以在两者之间循环。 这样做是否聪明,还是我需要进入数据库主/从configuration? 尽pipe交通量预计会相当高,但我认为这不会太高。

根据所提供的信息,坚持一个地区:美国东1或美西2。 北美地区对这些地区的延迟应该是合理的。

  1. 使用跨多个可用区域分布的多个EC2实例。
  2. 使用ELB将stream量分发到您的EC2实例。
  3. 为您的数据库使用RDS实例。 利用多可用区。 它为您的数据层添加高可用性,并且在您的RDS实例需要升级或以其他方式变得不可用时,还可以在维护时帮助您实现。

稍后,您可以扩展到另一个地区:

  1. 使用路由53基于延迟的路由,以便用户进入最近的区域
  2. 在第二个区域使用RDS只读副本,这样读取速度更快。