我应该如何使用 EC2 ?每个应用程序一个实例或一个用于我的所有架构

gog*_*son 5 amazon-ec2 amazon-web-services

我有一种复杂的架构,涉及 5 个不同的应用程序:

  • 1个API
  • 1个前面板
  • 1 仪表盘
  • 1个管理面板
  • 1 公共文件托管应用程序

所有这些应用程序实际上都托管在单个专用服务器上并在 Node.js 中运行

我想在 Amazon AWS 云中推广我的架构,但我仍然在质疑我想要设置的新架构。

我是否需要拆分我的应用程序并为每个应用程序运行一个 EC2 实例(每个应用程序组可能有 1 个负载均衡器),或者我可以在一个实例中运行我的所有应用程序并在其上使用一个负载均衡器。

我希望我可以更精确,但我不习惯缩放技术。

雨果。

小智 4

假设您不关心高可用性,如果一个实例可以处理负载,则将它们全部放在一个实例上。也就是说,我会围绕这些特定服务进行一些监控,以便您知道它们何时拥有自己的主机。您可能会发现不同的服务需要以不同的速率进行扩展。关注这一点的唯一好方法是使用良好的监控和仪器。

通过在服务之间引入一些抽象,您可以在以后避免很多麻烦。例如,确保当一项服务调用 API 时,它通过某个名称来调用它(DNS 非常适合这样做)。像 api.myapp.com 这样的东西就可以了。也许最初,所有名称都指向同一主机。但将来,当您需要扩展时,您可以将该名称指向后面有一堆实例的弹性负载均衡器,并且应用程序中的任何内容都不需要更改即可与新实例通信。

如果您关心高可用性,则需要多个盒子。句号。