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 访问环境变量