2012-10-22 2 views
1

ASP.NET 4.5에서 웹 응용 프로그램을 개발 중입니다. 응용 프로그램의 한 부분은 사용자에게 이미지 업로드 옵션을 포함합니다. 이미지는 Amazon S3에 저장됩니다. 지금 내가 선택한 경로는 Amazon SDK를 사용하여 이미지를 S3의 버킷에 업로드하고 CloudFront를 통해 서버에 저장하는 것입니다. 문제는 내가 s3fs을 사용하는 것이 더 나은 옵션 일 것이라고 생각합니다.s3fs 및 응용 프로그램 성능으로 이미지 업로드

S3 버킷을 폴더로 마운트하면 사용자가 사진을 업로드 할 때 이미지가 네트워크를 통해 S3로 전송된다는 것을 알기 때문에 응용 프로그램 작업을 계속할 수 있으므로 기다릴 필요가 없습니다. 코드를 계속하기 전에이 프로세스가 완료됩니다. 따라서 이미지가 서버로 업로드되고 코드가 끝날 때까지 기다려야합니다.

이 작업을 수행하는 좋은 방법인지 알고 싶습니다. 이미지 업로드를 기다리는 데 시간이 걸릴 수 있습니다. 모든 이미지가 업로드 될 때까지 기다리지 않고 시간이 걸릴 수 있습니다.

최상의 이미지 업로드 구현을위한 제안 사항은 무엇입니까?

답변

1

단일 버킷과 상호 작용해야하는 여러 응용 프로그램 서버가있는 경우 적합한 방법입니다. 로컬 스토리지 디렉토리를 캐시로 사용하도록 s3fs를 구성하여 s3fs 마운트에 직접 기록하는 것이 보통 로컬 스토리지보다 오래 걸리므로 성능을 향상 시키려면 성능을 향상 시키십시오.

+0

캐시로 사용하는 경우 이미지가 디스크 대신 메모리에 쓰여지지만 여전히 양동이에 전송됩니다. –

+0

아니요, s3fs 캐싱 옵션은 메모리 내 캐시가 아닌 로컬 파일 시스템 캐시를 제공합니다. 따라서 빠른 EC2 임시 저장소 볼륨을 사용하여 기본 읽기/쓰기를 수행 할 수 있습니다. 이 볼륨에서 사용할 디렉토리를 s3fs의 캐시 디렉토리로 설정하면 s3fs가 S3 버킷에 대한 최종 읽기/쓰기를 관리하게됩니다. 이렇게하면 s3fs mount에 직접 쓰는 것과 같이 일관성이없는 것과는 달리 로컬 캐시 디렉토리와 S3 사이에 일관된 일관성을 제공 할 수 있지만 사용자 이미지 업로드 등의 경우 이는 아마 괜찮을 것입니다. –