Google App Engine BlobStore в качестве хоста изображений? - PullRequest
2 голосов
/ 27 февраля 2012

Если бы я должен был создать проект с Google App Engine (используя Python), и этот проект содержал небольшие сгенерированные пользователем изображения (к которым после загрузки будет обращаться много, но они не будут меняться или изменяться динамически больше)) имеет ли смысл использовать BlobStore Google App Engine (с точки зрения стоимости, скорости и т. д.)?Или GAE или клиент, подключающийся к Amazon S3 и сохраняющий там изображения, имеет больше смысла, так как эти файлы в конечном итоге станут статичными?

Для чего стоит, все сгенерированные файлы изображений считаются общедоступными, а неuser-private, и было бы прекрасно, если бы они находились на другом поддомене.Все файлы будут иметь фиксированную палитру 16 цветов PNG размером ровно 19х19 пикселей.На их URL / ID будет ссылаться в хранилище данных GAE с парой дополнительных атрибутов (например, creatorId) для обработки / отображения их в веб-приложении.

Спасибо!

Ответы [ 3 ]

8 голосов
/ 27 февраля 2012

Если вы беспокоитесь о скорости и стоимости, безусловно, лучший способ - это сохранить их в blobstore и использовать get_serving_url() ( ссылка ). Эти изображения обслуживаются высокопроизводительными серверами изображений Google, и они никогда не будут стоить вам часов экземпляра, только пропускная способность, и вам не придется беспокоиться о memcache.

1 голос
/ 27 февраля 2012

Для таких маленьких изображений вы можете просто использовать Datastore.Даже с 1 ГБ места в бесплатных квотах вы сможете легко сохранять изображения размером 19x19 пикселей.Использование BlobStore немного сложнее, поскольку API более сложны, а фактическая процедура хранения включает в себя больше шагов, чем просто хранение двоичных данных в хранилище данных.Однако я рекомендую вам реализовать memCache для извлечения этих изображений, поскольку вы говорите, что впоследствии он не будет изменен.Вы не хотите запрашивать одни и те же 19 * 19 * 4 байта из базы данных для каждого изображения снова и снова.

1 голос
/ 27 февраля 2012

Я задал похожий вопрос несколько дней назад.Я продолжаю хранить изображения в хранилище данных как BLOBS (не в BlobStore) и проверяю, установлен ли заголовок Cache Control, чтобы они не запрашивались слишком много раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...