AWS의 탄성 환경 (자동 확장 기능이있는 Ec2 인스턴스)에서 실행될 응용 프로그램을 개발 중입니다. 모든 응용 프로그램은 PHP로 개발 중입니다.작업 대기열을 사용하여 AWS S3 버킷에 업로드
앱의 핵심은 S3 버킷에 파일을 안전하게 저장하는 것을 기반으로합니다. 사용자는 저장 위치를 알 필요가 없기 때문에이 저장소를 EC2 인스턴스에 임시로 저장 한 다음 대기열 복제를 피하기 위해 작업 대기열 (Amazon SQS)을 사용하여 비동기 적으로 S3으로 이동할 수 있다고 생각했습니다. 시간과 s3 문제에 대한 더 나은 지원 (일반적인 것은 아니지만 일어날 수 있음).
내 질문은 :
- 이 방법은 좋은 소리합니까 아니면 내가 뭔가를 놓친거야?
- 큐에서 작업을 처리 할 때 작업자 인스턴스는 원래 s3 인스턴스에 연결하여 파일을 검색 한 다음 s3에 업로드해야합니다.
- 자동 축소 기능을 사용할 때 문제가 발생하지 않도록하려면 어떻게해야합니까? S3 버킷에 파일을 저장하기 전에 인스턴스를 삭제할 수 있습니다.
예상되는 파일의 크기는 어느 정도입니까? ec2 인스턴스와 s3 사이의 대역폭은 대부분의 사용자 및 s3보다 훨씬 높습니다. 일반적으로 업로드 할 때 파일을 직접 전송합니다. 파일에서 발생해야하는 모든 후 처리 작업을 위해 작업을 사용합니다. – datasage
그들은 15MB보다 커서는 안됩니다. 하지만 SQS 대기열을 사용하여이 작업을 수행하면 s3 가동 중지 시간이나 문제를 처리 할 수 있습니다. –
SQS를 추가하면 SQS가 실패하거나 작업이 선택되지 않거나 인스턴스가 종료되어 파일을 전송할 수 있습니다. 15MB는 크지 않습니다. 업로드시 s3으로 전송할 수없는 경우 단순히 업로드가 실패했거나 불완전하다고 생각합니다. 해당 크기의 파일에 대해 s3으로 업로드하는 데는 몇 초 밖에 걸리지 않습니다. – datasage