Comments 12
requireJS && timeout/error callback к собственному серверу?
Может пойти прямым путём и сразу на собственный сервер?
да ну, а как же CDN?
Здесь нужно смотреть, какая CDN и какой выигрыш от использования. Если это коммерческий сервис, в котором вы уверены, можно грузить прямо с него и не думать — риск будет небольшим. А вот если нет — лучше будет со своего сервера. Недавний пример из практики: CDN для ускорения Битрикса (встроенная фича, на основе CDNVideo) положила сайт (пришлось отключить).
Ну, на маленьких проектах может быть дорого отдавать либы со своего хостинга — ограничения по траффику например. А так и экономия, и fail-safe есть. А так на средних и крупных коммерческих сайтах не вижу смысла загружать из CDN — много рисков, мало профита.
По-моему все ровно наоборот. Первый раз слышу о дороговизне отдачи либ с хостинга… Трафика они требуют совсем чуть с учетом сжатия и правильного кеширования.
Вообще зачем нужен CDN: для географической близости к пользователю и разгрузки каналов сервера, то есть как раз для средних и крупных коммерческих сайтов.
Вообще зачем нужен CDN: для географической близости к пользователю и разгрузки каналов сервера, то есть как раз для средних и крупных коммерческих сайтов.
Ну во первых никто не мешает на либы включить «вечный» кеш и они тогда будут отдаваться раз в пятилетку.
Во вторых — своему CDN не доверять это странно.
В третьих — примеры предоставлены публичных CDN, потому речь о них была.
Глупо как-то для разгрузки CDN писать fail-safe с отдачей напрямую с сервака — если CDN упал от нагрузки то за ним упадёт и сервер в таком случае.
А так вообще «свой» CDN фронту не видно — есть балансер(ы), они сами и решают куда-как быстрее, для фронта это всё та же ссылка на свой сервер а дальше — чёрный ящик.
Во вторых — своему CDN не доверять это странно.
В третьих — примеры предоставлены публичных CDN, потому речь о них была.
Глупо как-то для разгрузки CDN писать fail-safe с отдачей напрямую с сервака — если CDN упал от нагрузки то за ним упадёт и сервер в таком случае.
А так вообще «свой» CDN фронту не видно — есть балансер(ы), они сами и решают куда-как быстрее, для фронта это всё та же ссылка на свой сервер а дальше — чёрный ящик.
Мы в Айри много чего тестировали, но в автоматическом режиме работает только проксирование всего сайта через CDN + перезапись внешних ресурсов на проксирование через сайт. В итоге получается и сайт на CDN, и ресурсы с CDN, и нет DNS-запросов / внешних коннектов на сторонних виджетах.
Все остальные манипуляции чреваты нарушением логики работы сайта: вы рассчитываете, что библиотека будет синхронно доступна в определенном месте, а ее может там не оказаться — либо она загружается асинхронно, либо после вашего кода.
Все остальные манипуляции чреваты нарушением логики работы сайта: вы рассчитываете, что библиотека будет синхронно доступна в определенном месте, а ее может там не оказаться — либо она загружается асинхронно, либо после вашего кода.
Недавно как раз был случай, на одной из страниц проекта — большая datatable со списком юзеров, один из столбцов — аватар (в базе хранились лишь ссылки на вк, fb, Instagram — картинку). И если помните, вк лёг на полдня… Казалось бы, ну не загрузится часть аватарок и фиг с ним? Неет, на странице стоял коварный preloader со спиннером-крутилкой, и он благополучно ждал завершения загрузки всей страницы (в том числе картинок). Как итог мы получили полностью нерабочую страницу. Сразу даже не поняли, т.к. в этот момент ещё апдейты накатывали — соответственно, грешили на них.
Резюме: прелоадеры следует использовать осторожно, и смотреть их настройки более детально.
Кстати, решая данную проблему, обнаружил у картинок стандартный тег, который может загружать альтернативную картинку, если по основному href-у недоступна.
Резюме: прелоадеры следует использовать осторожно, и смотреть их настройки более детально.
Кстати, решая данную проблему, обнаружил у картинок стандартный тег, который может загружать альтернативную картинку, если по основному href-у недоступна.
Sign up to leave a comment.
Клиентская точка отказа: SPOF за счет внешних JS-библиотек