【问题标题】:AWS EC2 t3.micro instance sufficiently stable for spring boot servicesAWS EC2 t3.micro 实例对于 Spring Boot 服务足够稳定
【发布时间】:2020-02-21 08:25:55
【问题描述】:
我是 AWS 新手,最近设置了一个免费的 t3.micro 实例。我的目标是通过 2 个 Spring Boot 服务实现 Angular 应用程序的稳定托管。我让一切正常,但过了一段时间,spring boot 服务不再可用。当我重新部署服务时,它将再次运行。 Spring Boot 服务打包为 jar,部署后进程作为 java 进程启动。
我认为 AWS 可以保证开箱即用的永久可用性。我是否需要更多设置(例如自动缩放)来实现所需的服务正常运行时间,或者 t3.micro 实例是否性能不足,因此我需要升级到更强大的实例以避免问题?
【问题讨论】:
标签:
amazon-web-services
spring-boot
【解决方案1】:
这取决于:)
我认为您从一个小型实例类型开始做正确的事情,并首先避免过度配置。 T3 实例类型通常有利于“突发”使用场景,即您的应用程序偶尔需要计算峰值,但不是持久的。 T3 实例类型通常与基于积分的系统一起使用,在该系统中,您实例在空闲时“赚取”积分,并且该缓冲区在需要时始终可用(但仅在完全消耗之前)。然后您需要再次等待一段时间,然后重新获得积分。
对于您当前的问题,我认为第一种方法是通过 EC2 实例详细信息页面上的“监控”选项卡来了解当前的使用情况。这将帮助您了解需求是更多与计算相关还是与 i/o 相关,然后您可以从中选择合适的实例类型:
https://aws.amazon.com/ec2/instance-types
下一步还可以分析您的应用程序并更好地了解内存、计算利用率。 AWS 确实保证了资源的可用性/持久性,但您如何使用这些资源更多的是应用程序,AWS 不保证/控制
对于您的想法、自动扩展和可用性,这又取决于您在成本、AWS 数据中心中断等方面的需求。要拥有可靠的生产设置,您可以考虑它们,但在第一名。