首页 > 解决方案 > Angular 7 客户端的单个微服务(春季启动)的 AWS 选择

问题描述

我对 AWS 比较陌生,希望得到有关满足我需求的最佳选择的建议。我有一个 Spring Boot API,只能由我的 Angular 7 客户端访问。客户端将进入 S3 存储桶。我需要有关如何托管 API 的建议(它需要 MySQL 自动生成的数据库)。

到目前为止,我已经看到了 ECS 与 Elastic Beanstalk 与 Amplify。有经验的人可以向我推荐一个对于这个小项目来说不会过分的选择吗?根据客户端的流量,可以频繁调用 API。

如果您有来自 Azure 或 Google Cloud Platform 的建议,我们也欢迎您。

谢谢!

标签: amazon-web-servicesspring-bootamazon-s3amazon-elastic-beanstalkamazon-ecs

解决方案


AWS 提供 EC2 服务,您可以在其中创建实例(虚拟机)并手动安装/部署您的应用程序和所有必需的软件。对于个人或非常小的项目,这可能是一个选项,但您应该考虑到您的后端将无法自动(或通过配置)扩展到更多实例,您必须注意数据库的配置和备份,等等

对于生产级应用程序,分离应用程序组件有很多优势,为每个组件使用特定服务。

鉴于您的应用程序堆栈,我建议您考虑这种方法:

  • 使用 AWS RDS 创建关系数据库
  • 将 Spring 后端部署到 AWS Beanstalk
  • 将您的 Angular 前端部署到 AWS S3(它可以用作静态内容)
  • 创建具有两个来源的 CloudFront 分配,以路由必须传递到后端(通常使用 /api/ 之类的 URL 约定)和前端 ( )的请求

推荐阅读