Azure CDN vs Azure Blob занимает место слишком долго
Я использую azure blob storage для хранения изображений в общедоступном контейнере и встраивания их в общедоступный веб-сайт. Все работает нормально, капли доступны для публики на xxxxx.blob.core.windows.net
в тот момент, когда я их загружу. Я хотел использовать Azure CDN для своей инфраструктуры кэширования кэшей и настроить его на xxxxx.vo.msecnd.net
.
Но теперь, когда я указываю свои изображения на CDN, он возвращает 404 в течение хороших 15 минут или около того, затем начинает работать. Он упомянул в своей документации, что мы не должны использовать CDN для высоких уровней или часто изменяющихся капель, но простая CMS с функцией загрузки изображений для общедоступного сайта гарантирует CDN, не так ли?
Ответы
Ответ 1
На данный момент я точно такой же, как и для изображений продуктов, которые загружаются на мой сайт электронной коммерции. Я предпочитаю использовать Azure CDN поверх хранилища Azure blob по всем очевидным причинам, но не могу ждать 15 минут, чтобы изображение было доступно.
На данный момент я решил сначала сохранить URL-адрес хранилища blob, а затем переписать его для использования домена CDN через Azure WebJob, который запускается один раз в день. Это кажется ненужным количеством дополнительной работы, но я еще не нашел лучшего варианта и действительно хочу использовать Azure CDN.
Ответ 2
Что я делаю прямо сейчас... для изображений и файлов, связанных с сайтом, которые я загружаю вручную перед развертыванием (https://abc.blob.core.windows.net/cdn) и Если веб-сайт Пользователь загружает изображение или файл с помощью моего веб-сайта, я загружаю этот файл в хранилище blob (отдельный контейнер, а не CDN), используя CloudBlobClient
Ответ 3
CDN позволяет пользователю извлекать контент из CDN-POP, который географически ближе всего к пользователю, что позволяет снизить латентность чтения.
Без CDN каждый запрос достигнет исходного сервера (в вашем случае Azure Storage). Низкая латентность, предлагаемая CDN, достигается при попадании кеша. При пропуске кэша CDN-POP будет извлекать контент с исходного сервера, уменьшая преимущества латентности, предлагаемые CDN. Кэш-запросы обычно зависят от того, является ли контент статичным (приводит к удалению кеша) или динамическим (приводит к промаху в кеше) и его популярностью (горячие объекты приводят к удалению кеша).
Ваш выбор использования CDN или нет зависит от того, являются ли ваши файлы статическими или динамическими, если динамический, то преимущество использования CDN ниже. b) важна ли низкая латентность для вашего приложения и c) Скорость запроса: С небольшим количеством запросов ваши файлы, скорее всего, будут кэшироваться, поэтому CDN может оказаться не столь полезным, и d) Имеете ли вы высокие требования к масштабируемости. Примечание. Лазерное хранилище имеет следующие пределы масштабируемости. Если ваше приложение превышает пределы масштабируемости лазурного хранилища, рекомендуется использовать CDN
Ответ 4
CDN используется для доставки статического содержимого, но в вашем случае вам требуется динамическая доставка контента через CDN. Вы можете использовать Cloud Service + CDN. Это позволяет получать динамическое содержимое из CDN с использованием концепций кэширования ASP.net.
Для получения дополнительной информации см. эту ссылку: Использование сети доставки контента Windows Azure (CDN)