Понимание Azure CDN

#azure #cdn

#azure #cdn

Вопрос:

Я новичок в Azure CDN. В принципе, я пытаюсь использовать CDN для изображений моего веб-сайта на php, файлов javascript и css-файлов.

Я создал хранилище больших двоичных объектов Azure, затем добавил один контейнер и начал добавлять файл в этот контейнер. Я заметил, что каждый файл доступен через URL-адрес, что-то вроде этого https://*******.blob.core.windows.net/content/Test1.jpg

Вот и все!. Я думаю, это то, чего я хотел. Но теперь вопрос в том, где CDN вступает в игру? Я вижу, что мы можем создать CDN, а затем добавить к этому CDN конечную точку, которая в дальнейшем будет указывать на хранилище больших двоичных объектов, созданное мной ранее. Но вопрос в том, зачем мне нужно создавать этот CDN и его конечную точку, в то время как я уже могу получить доступ к своему файлу через URL, который предоставляется Azure Storage?

Комментарии:

1. Это подробно описано в документации: learn.microsoft.com/en-us/azure/cdn/cdn-overview

Ответ №1:

CDN и облачное хранилище, такое как Azure blob storage, — это две разные вещи. CDN может быть определен как:

Сеть доставки контента или сеть распространения контента — это географически распределенная сеть прокси-серверов и их центров обработки данных. Цель состоит в том, чтобы обеспечить высокую доступность и производительность путем пространственного распределения службы относительно конечных пользователей.

Где облачные службы хранения данных as предоставляют высокодоступное и безопасное пространство для хранения в облаке. Хранилище больших двоичных объектов Azure предоставляет вам возможности хранения, но не предоставляет способа более эффективной доставки содержимого пользователю.

С помощью Azure CDN вы можете кэшировать статические объекты, загруженные из хранилища больших двоичных объектов Azure, веб-приложения или любого общедоступного веб-сервера, используя ближайший сервер точки присутствия (POP). Azure CDN также может ускорить динамическое содержимое, которое нельзя кэшировать, используя различные оптимизации сети и маршрутизации.

Всякий раз, когда поступает запрос, Azure CDN определяет ближайший сервер точки присутствия и будет обслуживать контент оттуда, а не с фактического сервера.

Это приведет к

  • улучшено время загрузки страницы
  • уменьшена пропускная способность исходного сервера
  • Масштабирование для лучшей обработки мгновенных высоких нагрузок.

зачем мне нужно создавать этот CDN и его конечную точку, в то время как я уже могу получить доступ к своему файлу через URL, который предоставляется Azure Storage?

CDN особенно полезен

  • если ваш трафик поступает со всего мира и из разных мест.

  • если вы хотите ускорить доставку контента вашему пользователю.

  • если вы хотите уменьшить пропускную способность сервера на исходном сервере.

Итак, хотя развертывание CDN является хорошей практикой, однако вы также можете использовать хранилище больших двоичных объектов. Но вы можете столкнуться с более высокой задержкой при выполнении запросов из удаленных местоположений и проблемами с производительностью и пропускной способностью, когда трафик вашего сайта значителен из разных местоположений или когда происходят внезапные скачки нагрузки. Здесь CDN приходит вам на помощь, в противном случае для обычного веб-сайта с низким или умеренным трафиком из близлежащих районов вполне нормально, если вы не используете CDN, поскольку использование CDN повлечет за собой дополнительные расходы.

Комментарии:

1. ОК. Это имеет смысл. Однако, когда я пытаюсь просмотреть файл через URL CDN в браузере, URL-адрес изменяется на URL-адрес хранилища контейнера blob. Это желаемое / ожидаемое поведение?

2. Не уверен, но согласно документам Azure , это не должно меняться, возможно, у вас проблема с перенаправлением или CDN не был настроен должным образом.

3. Если приведенный выше ответ отвечает на ваш вопрос правильно, пожалуйста, примите его, чтобы он помог другим пользователям этого сайта.

4. Я только сегодня заметил, что после распространения CDN мой URL CDN на любой ресурс не перенаправляется на URL хранилища azure. Все идет идеально. Спасибо!

Ответ №2:

вы можете получить доступ к файлу blob напрямую с URL (https://*******.blob.core.windows.net/content/Test1.jpg ) потому что вы установили уровень доступа к хранилищу как общедоступный, что обычно не является хорошей идеей.

Подумайте о том, чтобы установить уровень доступа к хранилищу на частный, а затем использовать SAS (подпись общего доступа) для доступа к ресурсам в вашей учетной записи хранения. проверьте эту ссылку: https://learn.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1

Что касается CDN, ваши файлы больших двоичных объектов сохраняются в одном определенном месте, что означает, что пользователи из другого места могут столкнуться с проблемой высокой задержки при доступе к вашему сайту.

итак, вы можете захотеть добавить конечную точку в профиль CDN для своей учетной записи хранения. а затем замените исходный URL-адрес большого двоичного объекта ссылкой CDN для ваших ссылок на ресурсы.

для использования CDN с SAS ознакомьтесь с этим документом.