【问题标题】:How to handle a heavy traffic on EC2 API Server after pushing a notification to mobile app?向移动应用推送通知后如何处理 EC2 API Server 上的大量流量?
【发布时间】:2017-12-08 10:22:06
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    我会推荐一些需要审查的领域:

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

    【讨论】:

    • 所有很棒的建议; @hodoo-李;如果您想要更具体的信息 - 您需要提供有关您的设置的更多信息。
    • 感谢您的建议!我会尝试我能做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多