2016-05-19 2 views
1

У меня есть лазурное веб-приложение. Мы скажем, что это URL-адрес: http://theapp.azurewebsites.net. У меня также есть CDN, настроенный для обслуживания того же приложения. Его адрес может быть http://theapp.azureedge.net.Microsoft Azure CDN, похоже, кэширует только HTML

Обе работы. Оба подают контент в порядке. Однако, если я «приостанавливаю» веб-приложение через консоль Azure, URL-адрес CDN http://theapp.azureedge.net мгновенно останавливает показ изображений, css и т. Д., Жалуясь на то, что http://theapp.azurewebsites.net не найден, но он по-прежнему пытается обслуживать (теперь сломанный) HTML. То есть, CDN, похоже, имеет только копию HTML и пытается обслуживать другой контент непосредственно из самого веб-приложения.

Это мое понимание того, что

А) CDN должен иметь копию всех активов страницы (изображения, CSS и т.д.)

B) он должен принять КДС некоторое время, чтобы заметить, что в Интернете приложение приостановлено и продолжает обслуживать старый, предварительно приостановить контент до тех пор, пока узлы CDN не будут обновляться из веб-приложения.

C) Если CDN не может обслуживать изображения из приостановленного приложения, он не должен ничего обслуживать из приостановленного приложения, включая HTML.

Может кто-нибудь уточнить?

ответ

1

A) CDN не активно загружают все ресурсы, вы должны сделать это: https://azure.microsoft.com/nl-nl/documentation/articles/cdn-preload-endpoint/ В вашем сценарии CDN будет почти пустым, пока вы вручную не просмотрели все страницы/ресурсы

B) CDN кэширует элементы в течение фиксированного времени (TTL), а на полпути это время проверяет, изменился ли элемент на веб-сервере. Кажется, у ваших ресурсов очень низкий TTL (или даже без кеша), что приведет к вызову веб-сервера каждый раз. https://azure.microsoft.com/nl-nl/documentation/articles/cdn-manage-expiration-of-cloud-service-content/

C) CDN будет обслуживать все, что находится в кеше, и не имеет понятия о том, что приложение находится в автономном режиме.

+1

Обратите внимание, что TTL должен быть не менее 300 секунд, чтобы Azure CDN рассматривал кеширование содержимого, которое подается от источника. –