Вы выкладываете на Хабрахабре гиперссылку на интересный сайт, а он вскорости обрушивается под наплывом посетителей, начинает подтормаживать или вообще перестаёт отвечать.
Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.
Таковы бывают неприятные проявления
хабраэффекта — естественного DDoS, аналогом которого на Заокраинном Западе является
слэшдот-эффект.
Ну а как противостоять естественному DDoS?
Первыми приходят на ум наиболее бесхитростные способы.
Можно сохранить картинку к себе на диск, а затем вручную закачать на более устойчивый хостинг
(а не на Radikal.Ru и не на ImageShack.US, которые
оказались непригодными), после чего использовать новый адрес картинки.
Целый сайт уберечь от хабраэффекта куда сложнее. Можно, конечно, дать ссылку на кэш Google
(или на слепок Peeep, который организовал
snusmumrik), однако там сохраняется только
HTML-код страницы, а иллюстрации её могут продолжать отваливаться по хабраэффекту.
К тому же все эти примитивные способы слишком уж отвлекают. Приходится открывать новые вкладки, приходится копировать туда и оттуда информацию. Разве не существует способа, который позволял бы, никуда не уходя, прямо
в HTML-коде своей блогозаписи указать на необходимость защиты некоторого URLа от хабраэффекта?
Да, такой способ существует.
Достаточно прибавить
суффикс «.nyud.net» к доменному имени ресурса. Например, вместо адреса картинки
«http://oduinn.com/images/2010/blog_fennec_ff36_cake.jpg» вписывайте адрес
«http://oduinn.com.nyud.net/images/2010/blog_fennec_ff36_cake.jpg», а вместо адреса страницы
«http://newtimes.ru/articles/detail.php?ID=14721» вписывайте адрес
«http://newtimes.ru.nyud.net/articles/detail.php?ID=14721», и так далее.
Благодаря этому трюку копия ресурса попадает в ту CDN (сеть распространения контента), которая называется Coral CDN. О Coral CDN вы можете прочитать либо
в Википедии, либо
на сайте Coral CDN — смотря что предпочитаете.
Подобно торрентовому файлообмену, Coral CDN является открытым программным обеспечением (со свободно
доступным исходным кодом) и использует DHT (распределённые
хэш-таблицы) для передачи файлов между своими узлами. Однако
хэш-таблица у Coral CDN особенная: все алгоритмы и топология Coral CDN специально разработаны таким образом, чтобы сеть избегала чрезмерной загруженности всех своих узлов, когда выдаёт читателю желаемые файлы. Узлы объединяются для этого
в «концентрические» кластеры, каждый из которых только по необходимости общается с вышестоящими узлами, и тем избавляет их от перегрузки.
Помимо преодоления хабраэффекта, Coral CDN может использоваться для обхода «чёрных списков» цензуры, прошитых в DNS, или для открытия сайта в обход глючного, неработоспособного
DNS-сервера, если не повезло с провайдером. Также при помощи Coral CDN можно проверять иллюстрации с тех сайтов, на которых вы подозреваете действующий запрет прямых ссылок (hotlinking), потому что в Coral CDN такой сайт отдаст, ясное дело, не желаемую картинку, а графическое уведомление о запрете.
На Хабрахабре Coral CDN можно также использовать для такого просмотра комментариев ко блогозаписи, при котором не откручивается к нулю список непрочитанных комментариев. Если, допустим, вы желаете все комментарии прочесть уютно и дома, но загодя кинуть взгляд (второпях и не до конца) с мобильника, то взглядывайте через Coral CDN.
Есть у Coral CDN и ограничения по объёму файлов и по сроку их хранения. Технические подробности изложены
в тамошней вики. Там даже есть рецепт по привинчиванию Corel CDN к своему сайту.
комментарии (47)
Очень не рекомендую этим Coral CDN пользоваться. Там как-то по дурацки реализована раздача, вначале идет «обратный пинг» и только потом отдается файл. Соответственно всё зависит от фаервола. На моих пользователях выяснилось, что работает только у трети.
Так что проверяйте вначале.
User-Agent: *
Disallow: /
Создатели молодцы, что предусмотрели защиту от дублирования контента в глазах поисковиков.
кажись легло под хабраффектом :)
Но мог ли я предполагать, что у них не хватит ресурсов для противостояния хабраэффекту?
Кстати, какие условия использования? Ограничения?
В чем интерес корала?
Опишите, плз, в статье.
В общем, там стоит ограничение по объёму (несколько мегабайтов, не помню сколько в точности) и по времени хранения: чтобы система не перегружалась, она не хранит файлы долго (не забивает диски узлов), но не хранит и коротко (не утруждает себя частыми обращениями к первоисточнику).
Вебомастер того первоисточника, который грузят в CDN, может в некоторых пределах управлять сроком хранения, устанавливая заголовки
Кроме того, описывался метод организации сайта таким образом, чтобы все файлы отдавались через Coral CDN. То есть если
На самом деле данный эффект сильно преувеличен. Это не эффект большой, это хостинги херовые. Я на своей VDS-е хостирую блог друга. Он меня как то раз спрашивает, не ложился ли сервер. Я посмотрел логи, все отлично, все запросы были с 200-ыми статусами. Теперь у меня возникает вопрос, с чего это он меня спрашивал. Оказывается, поглядел он счетчик посещаемости (гугл аналитикс который), а там с хабра хороший такой заход под 1000 входов. И даже при том, что я под него отвел только один форк (и даже backlog нет), мемкэшеда нет и то к падению сайта это не привело.
Поэтому если под хаброэфектом понимать временное, пиковое увеличение посещаемости сайта (а не целенаправленный дос), то все это фигня. Используйте услуги адекватных хостинг-провайдеров, нормально настраивайте сервер и ни какой хаброэфект сайту не страшен.
я сломал Coral CDN?
Адрес клиента он передает, но как HTTP_X_CODEMUX_CLIENT — кто его такой проверяет?
www.pandora.com.nyud.net/
Такая сеть может разгрузить только публичный кешируемый контент. Все, что делается с вашей авторизацией — все равно должно будет идти на сервер.
т.е. если злобный админ закрыл вам на работе доступ, к примеру, Gmail (https://mail.google.com), то это решение тут не поможет
интереса ради попробовал так зайти на gmail(https разумеется) — просто перебросило на mail.google.com
а на работе вылезла ошибка построения туннеля.
Или ваш злобный админ и все порты позакрывал кроме 80?
маленькая ложка дёгтя?
coralize.net/
А ещё оно не смогло попасть на мой домашний сервер. Многовато косяков для CDN.
В смысле есть, допустим, картинка на моём сервере, я через Coral её засветил на других серваках и теперь мне нужно её обновить — как это сделать?