코믹 스트립 (이미지)을 제공하는 만화 사이트를 시작할 계획입니다. 이미지 제공/캐싱에 대한 사전 경험이 거의 없습니다. App Engine에서 이미지 게재에 대한 질문 (2 대안)
class Comic(db.Model)
image_link = db.LinkProperty()
timestamp = db.DateTimeProperty(auto_now=True)
장점을 LinkProperty를 사용
1 :
그래서이 제 2 개 전 고려 중이 야 방법이 있습니다 이미지는 GET-ED 디스크 공간 자체 (및 디스크 공간에서이 저렴 나는 받아들 일까?) 사용자의 브라우저에서 콘텐츠를 캐시하기 위해 만기일을 가진 app.yaml을 쉽게 설정할 수있다. 엔티티를 빨리 검색하기 위해 memcache를 설정할 수있다. (트래픽이 많은 경우)
2. BlobProperty 사용하기
이 튜토리얼을 사용 했으므로 꽤 깔끔했습니다. http://code.google.com/appengine/articles/images.html
사이드 질문 : 외부 연결에서 내 이미지를 "보호"하는 BlobProperty를 사용한다고 말할 수 있습니까? 그 사람들이 바로 연재 만화
나는 방법 2. 내가 분명히에 대한 memcache에 이들 엔티티 빨리 읽고 있습니다- 에 대한 몇 가지 걱정이 직접 연결할 수 없음을 의미합니다.
그런데 :
이미지에게 좋은 일을 memcaching 있습니까? 내 이미지가 큽니다 (이미지 당 100-200kb). memcache는 최대 4GB의 캐시 된 데이터 만 허용한다고 생각하십니까? 또는 무제한 엔터티가있는 memcached 엔터티 당 1MB입니다 ...
appengine의 memcache가 실패하면 어떻게됩니까? -> 솔루션 : 데이터 저장소로 돌아 가야합니다.
- 어떻게 이러한 이미지를 사용자의 브라우저에 저장합니까? 내가 방법을 안하면. 1, 내 app.yaml에 콘텐츠의 만료일을 쉽게 추가 할 수 있으며 사진은 사용자 측에서 캐시됩니다.
귀하의 생각을 듣고 싶습니다. 방법 1 또는 2를 사용해야합니까? 방법 1은 죽은 것처럼 간단하고 직선적인데, 내가 조심해야 하나?
[편집] 어떻게 이런 딜레마를 해결할 수 있습니까?
딜레마 : 내가하고 싶은 마지막 일은 사람들이 이미지에 대한 직접 링크를 얻지 않고 비트를 올려 놓지 못하게하는 것입니다.사용자가 내 서버의 이미지에만 자동으로 연결되기 때문에 (사용자가 메인 페이지에서 액세스 한 경우 주변의 광고/콘텐츠가 아님)
인터넷 대역폭에 문제가 없습니다. 인터넷 대역폭 비용이 많이 들기 전에 데이터 저장소 데이터 전송 할당량이 부족하게됩니다. – JasonSmith
CDN은 물건을 더 저렴하게 만들지는 않지만 더 빠르고 값이 비싸게 만듭니다. @jhs : 데이터 저장소 전송 할당량이 부족하지 않습니다. 필요한 경우 할당량을 늘립니다. –
닉, 상황에 따라 다릅니다. AppEngine은 약 $ 0.12/GB이지만 일부 공급 업체와 협상 할 수 있음을 알았습니다. 또한 데이터 저장소 및 관련 할당량을 사용하여 CDn에 저장할 수 있고 데이터 저장소 공간 및 API 할당량을 사용할 수없는 경우 정적 이미지의 얼룩을 저장하는 이유는 무엇입니까? 돈, 개발 시간 및 페이지 대기 시간면에서 실제로 저에게 더 적은 비용이 드는 것으로 밝혀졌습니다. – dar