2012-02-27 5 views
2

Google App Engine (Python 사용)으로 프로젝트를 만들고이 프로젝트에 작은 사용자 생성 이미지가 포함되어있는 경우 (업로드 한 후에는 많이 액세스되지만 더 이상 동적으로 변경되거나 변경되지 않음) , Google App Engine BlobStore는 비용, 속도 등에서 사용하기에 적합한가요? 또는 GAE 또는 Amazon S3에 연결하고 거기에 이미지를 저장하는 클라이언트가이 파일이 정적으로 끝나기 때문에 더 합리적입니까?Google App Engine BlobStore를 이미지 호스트로 사용 하시겠습니까?

생성 된 이미지 파일은 모두 공개 된 것으로 간주되며 사용자 개인은 아니며 다른 하위 도메인에있을 수도 있습니다. 모든 파일은 정확히 19x19 픽셀의 고정 팔레트 16 색 PNG입니다. URL/ID는 GAE 데이터 저장소에서 참조되며, 웹 응용 프로그램에서 처리/표시하기위한 몇 가지 속성 (예 : creatorId)이 추가됩니다.

감사합니다.

답변

1

나는 며칠 전에 similar question에게 물었습니다. Im은 BlobStore가 아닌 BLOBS로 DataStore에 이미지를 저장하고 Cache Control 헤더를 설정하여 너무 많이 요청하지 않도록합니다.

1

작은 이미지의 경우 데이터 저장소를 사용하면됩니다. 공간의 1Gb에서도 무료로 할당량을 제공하므로 몇 19x19 픽셀 이미지를 쉽게 저장할 수 있어야합니다. BlobStore를 사용하는 것은 API가 복잡하고 실제 sotorage 절차가 데이터 저장소에 바이너리 데이터를 저장하는 것보다 더 많은 단계를 필요로하기 때문에 약간 더 복잡합니다. 그러나 나중에 수정할 필요가 없다고 말하기 때문에 이러한 이미지를 검색하기 위해 memCache를 구현하는 것이 좋습니다. 각 이미지에 대해 동일한 19 * 19 * 4 바이트를 데이터베이스에서 반복해서 쿼리하지 않으려 고합니다.

8

속도와 비용이 염려되는 경우 가장 좋은 방법은 blobstore에 저장하고 get_serving_url() (link)을 사용하는 것입니다. 이러한 이미지는 Google의 고성능 이미지 서버에서 제공되며 인스턴스 시간, 대역폭 만 낭비하지 않으며 Memcache에 대해 걱정할 필요가 없습니다.

+0

많은 감사 Mj! –