Где хранить такие вещи, как пользовательские картинки, используя Azure? Хранилище Blob?
Я только что перенесла проект my для тестовых примеров на Microsoft azure.
Но для функций, подобных загрузке аватара, мне нужен доступ на запись к файлам на жестком диске. Но это облако, так что это невозможно.
Как я могу построить такие функции вместо этого? Должен ли я использовать хранилище Blob или есть лучшее решение?
Имеет ли смысл хранить все изображения веб-сайта (например, макеты) в хранилище Blob? Итак, у меня был бы бесплатный куки файл для моего статического контента?
Ответы
Ответ 1
Хранилище Blob - это, безусловно, место для размещения динамических изображений, таких как аватары. Хотя вы можете писать на диск на виртуальной машине, вы будете работать, вы не можете полагаться на это, чтобы присутствовать - если ваше приложение переместится на другую машину (что может произойти по ряду причин), это хранилище будет стираться.
Одна вещь, которую вы можете сделать, это хранить изображения в хранилище blob и кэшировать их на локальном диске VM (используя стандартные механизмы ввода-вывода файлов). Таким образом, вы получите довольно хорошую производительность и сохраните несколько транзакций хранения, при этом убедитесь, что вы не храните их в энергозависимом хранилище.
Если у вас есть статические изображения, которые будут полностью статичными, они просто связаны с вашим приложением и могут быть указаны как обычный файл. Но, если вам когда-либо понадобится их изменить, вам нужно будет повторно развернуть приложение, поэтому используйте только этот метод для изображений, которые не нужно изменять.
Ответ 2
Имейте в виду, что два типа Blobs в Windows Azure: Блокировать Blobs и Blob-страницы. Блокировочные блоки подходят для работы медиафайлов, тогда как Page Blobs оптимизированы для других шаблонов работы.
Также рассмотрите возможность использования Azure Сеть распространения контента (CDN) для снижения латентности для клиентов.
У Azure также есть потоковые возможности, которые работают совместно с Silverlight Smooth Streaming (http://blog.smarx.com/posts/smooth-streaming-with-windows-azure-blobs-and-cdn, если они заинтересованы).
Ответ 3
"Имеет ли смысл хранить все изображения веб-сайта (например, макеты) в хранилище Blob? Итак, у меня будет домен без cookie для моего статического контента?"
Да, я так думаю - вот что я сейчас выкачаю.