#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 ознакомьтесь с этим документом.