Преодолеваем хабраэффект при помощи Coral CDN

  • Tutorial
Вы выкладываете на Хабрахабре гиперссылку на интересный сайт, а он вскорости обрушивается под наплывом посетителей, начинает подтормаживать или вообще перестаёт отвечать.

Вы помещаете в свою блогозапись иллюстрацию с другого сайта, а она вскорости не выдерживает напора зрителей, перестаёт отображаться или сменяется на уродливое уведомление о превышении объёмов выделенного ей траффика.

Таковы бывают неприятные проявления хабраэффекта — естественного 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 к своему сайту.
Поделиться публикацией
Похожие публикации
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 47
  • +7
    ну как по мне то гениально, будем пробовать, спасибо за статью.
    • НЛО прилетело и опубликовало эту надпись здесь
      • +4
        Поиск по словам «nyud» и «coral» не позволяет обнаружить ни одну прежнюю статью по этому вопросу, поэтому я полагал, что раскрываю эту тему в качестве ещё неведомой.
    • +4
      Все гениальное просто! Спасибо вам за такой удачный и простой инструмент :)
      • +6
        Он еще и все ссылки преобразует на странице, получается практически весь сайт переходит в CDN. Очень полезная штука.
        • 0
          Хабровские ссылки не совсем
          • 0
            преобразуются только относительные ссылки…
            • +7
              Относительные ссылки не преобразуются, а, будучи вызванными с другого домена, просто начинают указывать внутри него. Ваш К.О.
          • +3
            habrahabr.ru.nyud.net/robots.txt

            User-Agent: *
            Disallow: /

            Создатели молодцы, что предусмотрели защиту от дублирования контента в глазах поисковиков.
          • +8
            >http://wiki.coralcdn.org/wiki.php

            кажись легло под хабраффектом :)
            • +2
              М-да, эту ссылку я не корализировал, а теперь поздно.

              Но мог ли я предполагать, что у них не хватит ресурсов для противостояния хабраэффекту?
              • +2
                Я думаю еще не позно, чтобы новые читатели не добивали Корал.
                Кстати, какие условия использования? Ограничения?
                В чем интерес корала?
                Опишите, плз, в статье.
                • 0
                  Боюсь по памяти наврать, а первоисточника и сам уж теперь открыть не могу, да и в CDN загрузить его теперь не выйдет, надо думать.

                  В общем, там стоит ограничение по объёму (несколько мегабайтов, не помню сколько в точности) и по времени хранения: чтобы система не перегружалась, она не хранит файлы долго (не забивает диски узлов), но не хранит и коротко (не утруждает себя частыми обращениями к первоисточнику).

                  Вебомастер того первоисточника, который грузят в CDN, может в некоторых пределах управлять сроком хранения, устанавливая заголовки HTTP-отклика вебосервера («Expires», кажись).

                  Кроме того, описывался метод организации сайта таким образом, чтобы все файлы отдавались через Coral CDN. То есть если «user-agent» не кораловский, то редирект на имяДомена.nyud.net/адресРесурса.
                  • –2
                    Впрочем, можно прочесть основное содержимое вики в кэше Google.
                  • +2
                    А можно говорить «корализовал»? Мне кажется, так звучит и воспринимается много лучше.
                • 0
                  Мне кажется это лучший пример антирекламы )) Сервис призванный ликвидировать последствие хаброэффекта сам и упал под ним.

                  На самом деле данный эффект сильно преувеличен. Это не эффект большой, это хостинги херовые. Я на своей VDS-е хостирую блог друга. Он меня как то раз спрашивает, не ложился ли сервер. Я посмотрел логи, все отлично, все запросы были с 200-ыми статусами. Теперь у меня возникает вопрос, с чего это он меня спрашивал. Оказывается, поглядел он счетчик посещаемости (гугл аналитикс который), а там с хабра хороший такой заход под 1000 входов. И даже при том, что я под него отвел только один форк (и даже backlog нет), мемкэшеда нет и то к падению сайта это не привело.

                  Поэтому если под хаброэфектом понимать временное, пиковое увеличение посещаемости сайта (а не целенаправленный дос), то все это фигня. Используйте услуги адекватных хостинг-провайдеров, нормально настраивайте сервер и ни какой хаброэфект сайту не страшен.
                • +1
                  у меня не открываются ссылки указанные в статье
                  я сломал Coral CDN?
                  • +2
                    У меня не открываются ссылки, слэшдот-эффект? гг
                    • 0
                      Спасибо, будем пользоваться!
                      • +21
                        Кто положил сайт по преодолению хабраэффекта признавайтесь?)
                        • +6
                          Его же можно как анонимайзер использовать.
                          Адрес клиента он передает, но как HTTP_X_CODEMUX_CLIENT — кто его такой проверяет?
                          www.pandora.com.nyud.net/
                          • +1
                            увы у меня уже на пандору не ходит по такой ссылке 8( по прежнему прийдётся пользоваться Hotspot Shield
                            • +1
                              о нет надо просто везение 8) все работает 8)
                          • +1
                            По своей сути, это иерархия кешей. То же самое, что умеет делать сквид.
                            Такая сеть может разгрузить только публичный кешируемый контент. Все, что делается с вашей авторизацией — все равно должно будет идти на сервер.
                            • НЛО прилетело и опубликовало эту надпись здесь
                              • +1
                                152кб изображение открывалось секунд 15.
                                • +2
                                  Идея очень давно блуждала в голове. Очень удивлен что подобное уже реализовано и как оказалось очень практично и просто!

                                  • +1
                                    Прекрасная штука!
                                    • +1
                                      хорошее решение, но оно бессильно при обращении к сайтам по SSL.
                                      т.е. если злобный админ закрыл вам на работе доступ, к примеру, Gmail (https://mail.google.com), то это решение тут не поможет
                                      • +1
                                        закрыть доступ на gmail это надо быть оооочень злобным админом)))

                                        интереса ради попробовал так зайти на gmail(https разумеется) — просто перебросило на mail.google.com
                                        • +1
                                          да, дома тоже перебросило.
                                          а на работе вылезла ошибка построения туннеля.
                                        • +1
                                          ssh туннель с домашней машинкой ещё никто не отменял.

                                          Или ваш злобный админ и все порты позакрывал кроме 80?
                                          • +1
                                            <key-word>к примеру</key-word>
                                            • 0
                                              Не всегда у домашней машинки есть внешний IP. Хотя, конечно, есть и на этот случай решения.
                                          • +4
                                            видимо, это уже традиция, что сайты по преодолению Хабра-эффекта ложатся под Хабра-эффектом :)
                                            • +1
                                              В мемориз однозначно! Очень интересное решение
                                              • +1
                                                хабраэффект?
                                                • +1
                                                  Some web filtering software packages, such as Websense and OpenDNS, block access to the Coral Cache as it is seen as a form of proxy avoidance. Many anti-virus and Internet Security software packages, such as Trend Micro Internet Security block access to the Coral Cache as it is seen as a mask for dangerous URLs.

                                                  маленькая ложка дёгтя?
                                                  • +4
                                                    А вот кому еще полезную ссылку?
                                                    coralize.net/
                                                    • +1
                                                      +1 в карму немедленно
                                                    • +4
                                                    • 0
                                                      Порадовало:
                                                      Source Code

                                                      Our CVS server went down a few months ago, with significant disk corruption. We have yet to bring back a new source repository online.


                                                      А ещё оно не смогло попасть на мой домашний сервер. Многовато косяков для CDN.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • 0
                                                          Спасибо за статью. Идея понравилась, написал Расширение для использования CoralCDN с BlogEngine.NET

                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.