如何在向移动应用推送通知后处理EC2 API服务器上的大量流量?

时间:2017-12-08 01:36:31

标签: api amazon-web-services amazon-ec2 server

我的公司正在运行食品市场应用程序,每隔上午11:00,我们就会使用AWS SNS服务推送应用程序通知。最近,我们的流量很大,我们在EC2上的5个API服务器(t2.medium)变得非常不稳定。问题是,在我们发送推送通知(上午11:00到上午11:10)之后,大量流量才会出现大约10分钟。所以我应用了自动缩放但没有工作,因为启动服务器需要一些时间,并且在扩展之前崩溃。我们是一家初创公司,因此最大限度地降低服务器成本将是非常好的。在这种情况下可以采用哪些解决方案?

1 个答案:

答案 0 :(得分:1)

我会建议一些区域进行审核:

  1. EC2实例大小。看看启用T2 Unlimited。这刚刚在re:Invent 2017上宣布。此功能消除了发生的CPU限制。只有在使用它时才需要付费。
  2. Auto Scaling。在推送通知之前,请手动增加Auto Scaling组,然后在闪电战后减少它。
  3. 如果您的EC2实例需要很长时间才能上线,请考虑使用已配置的实例创建您自己的AMI,以缩短上线时间。
  4. 负载均衡器。亚马逊经典负载均衡器需要在流量大幅增加之前进行预热。如果您使用的是CLB,请升级到较新的ALB或NLB。
  5. SSL终止。在负载均衡器处终止SSL。这将减少EC2实例上的CPU负载。
  6. CloudFront / S3。将静态资产(img,js,css,图形,文档,传单等)移至S3并通过CloudFront提供服务。
  7. 将CloudFront放在负载均衡器前面。
  8. 降低推送通知的速度。