Spring Boot 应用程序在 AWS 上的自动缩减

Posted

技术标签:

【中文标题】Spring Boot 应用程序在 AWS 上的自动缩减【英文标题】:Automatic Scale down on AWS of Spring Boot Application 【发布时间】:2018-01-30 18:55:44 【问题描述】:

我想在 Amazon AWS Elastic Beanstalk 上部署一个 Spring Boot 应用程序。该应用程序是公开 REST API 的后端服务。我担心的是当 AWS 启用自动扩展时会发生什么。我举个例子:

    实例以应用程序开始 我调用激活进程的 REST API(可能需要 20 分钟才能完成) AWS 横向扩展创建新实例,以便此新实例可以处理新请求 一段时间后,AWS 决定减少实例数量 - 缩减,因为内存(或 CPU、网络输出或...)使用率低于下限

AWS 是否检查应用程序是否正常工作?我想避免它在应用程序工作时杀死一个实例(数据丢失、作业中断......)。

【问题讨论】:

【参考方案1】:

您应该研究 AWS Auto Scaling 生命周期挂钩,当 AWS 想要缩减其实例并采取适当的措施(包括延迟重启)时,它可以让您的应用程序(通过 CloudWatch、SNS 或 SQS)得到通知。

http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html

【讨论】:

以上是关于Spring Boot 应用程序在 AWS 上的自动缩减的主要内容,如果未能解决你的问题,请参考以下文章

AWS Beanstalk 上的 Spring Boot 抛出 404

Spring Boot,AWS应用程序上的Jackson数据绑定依赖错误

AWS Elastic Beanstalk 上的 Spring Boot 并记录到文件

如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量

将 Spring Boot 应用程序部署到 AWS beanstalk

Spring Boot 在 AWS EC2 上自动关闭