2017-12-08 11 views
0

저희 회사는 식품 시장 앱을 운영하고 있으며 오전 11시에 AWS SNS 서비스를 사용하여 앱 알림을 푸시합니다. 최근에 트래픽이 많아지고 EC2 (t2.medium)에있는 5 개의 API 서버가 매우 불안정 해졌습니다. 문제는 푸시 알림 (11:00 AM - 11:10 AM)을 보낸 직후에 대량의 트래픽이 약 10 분만 발생한다는 것입니다. 그래서 자동 확장 기능을 적용했지만 서버를 시작하는 데 약간의 시간이 걸렸으며 크기를 조정하기 전에 충돌이 발생했기 때문에 작동하지 않았습니다. 우리는 창업 회사이므로 서버 비용을 최소화하는 것이 좋습니다. 이 상황에서 어떤 해결책이 효과가 있습니까?알림을 모바일 앱에 푸시 한 후 EC2 API 서버에서 과도한 트래픽을 처리하는 방법은 무엇입니까?

답변

1

나는 숫자 영역을 검토하는 것이 좋습니다 것입니다

  1. EC2 인스턴스 크기. T2 Unlimited를 활성화하십시오. 이것은 re : Invent 2017에서 방금 발표되었습니다.이 기능은 발생하는 CPU 스로틀을 제거합니다. 당신이 그것을 사용하는 경우에만 지불합니다.
  2. 자동 크기 조정. 푸시 알림을 받기 전에 자동 확장 그룹을 수동으로 늘린 다음 블리치가 끝난 후 자동 확장 그룹을 줄이십시오.
  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. 푸시 알림의 속도를 줄입니다.
+0

모든 유용한 제안. @ hodoo-lee; 좀 더 구체적인 것을 원한다면 설정에 대한 더 많은 정보를 제공해야합니다. –

+0

제안 해 주셔서 감사합니다! 내가 할 수있는 것을 시도 할 것이다. –