Вы здесьТех. помощь в создании зеркала либрусека
Опубликовано сб, 25/10/2008 - 13:10 пользователем Bill_G
Чесно говоря надпись на сайте "sorry overload" в любое время дня и ночи достала. Один человек готов предоставить под зеркало VPS, прошу администрацию или близких к ней написать в ЛС - дам контакты
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 3 часа
нэнси RE:Подайте бедному копеечку на книжку с литреса... 16 часов babajga RE:Белая княжна 2 дня Nicout RE:Таинственная личность админа Флибусты 4 дня Isais RE:Файл достаточно хорош. Нет смысла в его улучшении. Ага,... 4 дня mazay RE:Sleepy Xoma - Bagⲣѱnoⲣojdennaѱ 1 неделя zlyaka RE:С Новым годом! 1 неделя Isais RE:Детство, опаленное войной (Вторая мировая 1939-1945 и ВОВ) 1 неделя SparkySpirit RE:Прошу переформатировать, распознать, etc... 1 неделя SparkySpirit RE:Жорж Санд - переводы 19 века 2 недели Саша из Киева RE:Наш дом - СССР 2 недели babajga RE:Чернушка. Повести 2 недели Саша из Киева RE:Сказки далёких островов 2 недели babajga RE:Лопоухий бес 2 недели babajga RE:Ежик покидает дом 2 недели babajga RE:Сказки бабушки Черепахи 2 недели babajga RE:Свист диких крыльев 2 недели Саша из Киева RE:Турецкие мусорщики в Анкаре открыли библиотеку, полную... 3 недели Впечатления о книгах
behemmoth про Круз: В центре урагана (Социальная фантастика, Самиздат, сетевая литература)
09 01 Долго думал, писать ли отзыв или aut bene aut nihil. Но тем не менее. "Ветер над островами" был, пожалуй, самой "взрослой" серией Андрея, в которой наконец-то хоть чем то была разбавлена набившая оскомину парадигма "война ……… Оценка: плохо
Barbud про Ларин: Прощай СССР (Приключения: прочее, Самиздат, сетевая литература)
09 01 Дочитал... Да, местами смешно, читать можно. Жаль, концовка какая-то невнятная - ГГ вкупе с заклятыми братьями по сверхразуму исчез ХЗ куда, вожатую и ненормального пионера - "кровь-кишки-распидорасило", итог лагерной "Зарницы" остался непроясненным))
mysevra про Дойч: Метроном. История Франции, рассказанная под стук колес парижского метро (Историческая проза, Публицистика, Документальная литература)
09 01 По этой книге Фабрисом Урлие снят замечательный 4-серийный документальный фильм - яркое визуальное дополнение. Оценка: отлично!
nik_ol про Джентльмен сыска Иван Подушкин
08 01 Выложите уже, пожалуйста, новое от Донцовой что-то, а то от Пелевина уже ум за разум заходить начал)))).
Анни-Мари про Потомокъ
08 01 Замечательная серия. Любопытно, будет ли продолжение? В целом, все логически завершено, но! Такое ощущение, что автор допускает, да.
pulochka про Френкель: Бог, которого не было. Красная книга (Проза)
08 01 Это бред сумасшедшего? Как ЭТО вообще можно читать? Оценка: нечитаемо
decim про Серяков: Русы во времена великих потрясений (История, Научпоп)
08 01 Весьма любопытные гипотезы. Однако судить о бесписьменном народе, каким в те поры были предки современных славян(русами их назвал Ибн-Фадлан гораздо позже, и не были ли то Ruotsi, варяги? собственно славян соседи по Балтике ………
Barbud про Ларин: Назад в СССР (Детская фантастика, Самиздат, сетевая литература)
07 01 Чушь какая-то. Автор, вероятно, молодой молокосос, не имеющий понятия о том, как общались пионеры в то время и каких слов и оборотов они вообще не знали. Да и ведут они себя абсолютно неестественно для тогдашних реалий. Затяжной ……… Оценка: неплохо
RusD про Елманов: Серый ангел [litres] (Попаданцы, Историческое фэнтези)
07 01 Это, похоже, 2я часть книги "Последний шанс империи
Вита Бревис про Руслан Владимирович Жуковец
07 01 То что я прочла и поняла - хорошо. Отсюда я заключаю, что и все остальное - тоже. Я прочитала характеристику Порфирия Иванова. Великолепно. И глубина , и анализ, и все такое.
mysevra про Выставной: Тварь (Боевая фантастика)
07 01 Насколько была увлекательной первая книга, настолько же неинтересна вторая. P.S. Здорово, что вы есть, я безумно скучала. Оценка: неплохо
dolle про Пехов: Птицеед (Фэнтези, Самиздат, сетевая литература)
07 01 Интересный новый мир Пехова.Мелкими мазками раскрывается во время повествования ,но к концу первой книги вопросов о нём станет ещё больше.Сюжет,интрига, герои есть.Впрочем все миры Пехова "ламповые".Тот случай когда автор ……… Оценка: отлично! |
Комментарии
Отв: Тех. помощь в создании зеркала либрусека
ау! либрусек это пустыня??
Отв: Тех. помощь в создании зеркала либрусека
может стоит написать в личку администрации? а так то что тут напишешь....
Отв: Тех. помощь в создании зеркала либрусека
Ларин щас путешествует по эквадору. Без него сами понимаете... Приедет, напишите ему. А пока есть движок и база - при желании можно поднять зеркало.
З.Ы. А контакты можно отправить на почту библиотекарей.
Отв: Тех. помощь в создании зеркала либрусека
реально сделать Web-версию сайта, чтобы каждый, кому хочется, мог сделать копию либрусека у себя на компе и выставить его в доступ? А список таких зеркал публиковать где-нибудь на главной странице или вообще сделать механизм автоматического форвардинга на наименее загруженные зеркала. Концепция похожая на реализацию http://gen.lib.rus.ec/ - сайт можно в том же виде держать у себя дома. Единственное, синхронизация коллекции пока не прорабатывалась в деталях.
Тогда либрусеков будет сколько хочешь, учитывая наплыв пользователей на сайт, в особенности тех, которые скачивают всё подряд. Плюс разгрузка ответственности, выживаемость и т.п. Пню понятно, что централизованный подход выгоден исключительно на уровне координации (головная база данных должна быть одна). Во всех остальных случаях лучше иметь децентрализованные решения.
bw
Отв: Тех. помощь в создании зеркала либрусека
Нужен второй вариант. Иначе при невозможности доступа на Либрусек не будет доступа и к списку зеркал.
Отв: Тех. помощь в создании зеркала либрусека
Для списка - легко. Форумы, почтовые рассылки... Для форвардинга, что наиболее удобно с точки зрения рассредоточения и живучести, нужен, видимо, отдельный сервер, узкоспециализированный. Чем-то система напоминает торрент ;), только нужна поддержка не только скачивания. Не знаю, есть ли аналоги?
ИМХО, вообще, если вынести все лишнее с Либрусека на другой ресурс (чат, форум, ЖЖ и проч.) - не отпадет ли проблема перегрузок? Ну, не может быть, чтобы сервер ложился от 300 посетителей! Специалисты, проконсультируйте, в чем тут дело? Ведь тормозит не скачивание, не канал - только база, т.е. сам сервер. На скачивание ни разу тормозов не видел, а вот на упаковку или на поиск - все время. Конечно, куда лучше было бы, если бы не сообщение о перегрузке выдавать, а ставить запрос в очередь на отсроченную обработку. Ну, кто работает с базами? Помогите Ларину и нам всем найти выход!
Отв: Тех. помощь в создании зеркала либрусека
Для начала, хорошо-бы, создать static.lib.rus.ec с книгами, на отдельном сервере. Используя только "static html"(генерировать скриптом, периодически).
А для "фич" использовать javascript и ajax.
Небудет всех "фич", но такой сервер выдержит, с честью, даже нагрузку на всю ширину канала.
А потом, если понравится, писать что-то вроде StillLife Витуса Вагнера.
Отв: Тех. помощь в создании зеркала либрусека
для того, чтобы выбрать конкретную схему расчленения либрусека нужно, чтобы ларин замерил сколько процессора ужирается форумом (это обязано быть дохера, с мускула берётся каждая строчка на форуме, каждый раз новый запрос), сколько камня жрут какие-то другие отделяемые части сайта. При наличии карты распределения нагрузки станет понятна схема разделения.
По идее форум и скачивание книг абсолютно ортогональны друг другу и разнести их на разные сервера особых сложностей представлять не должно.
Ещё меня вот какой вопрос волнует: кэшируются ли как-то страницы (читай "запросы к базе данных") или для каждого юзера каждая страница, включая главную, собирается за ново из данных базы? Мне кажется сам сайт может сам контент кэшировать, обновляя кэш только при вносимых изменениях. Тогда для каждого юзера страницы будут не собираться, а только высылаться.
Отв: Тех. помощь в создании зеркала либрусека
Кешируются - иногда 502 ошибку ловлю от ngeix'а (вроде как).
Отв: Тех. помощь в создании зеркала либрусека
Называется "лоад балансер".
Самый тупой, на сколько мне известно, делается из "раунд робин ДНС" - поднимаем свой ДНС (или конфигурим имеющийся) так, чтобы на запрос lib.rus.ec отдавались разные IP.
Это хорошо, конечно, когда у зеркал свои постоянные IP.
Если нет - хуже, но можно попробовать отдавать CNAME'ы...
Вот.
Отв: Тех. помощь в создании зеркала либрусека
условия, как я понимаю, как раз такие, что стандартное решение не прицепишь, а именно: IP может быть произвольным и зеркало может исчезнуть в любой момент. Главный сервер можно заставить вести подписку зеркал следующим образом:
1) чел, у которого копия сайта (скажем исключительно download-часть) заходит на lib.rus.ec/mirrors/subscribe?now, чем его IP вносится в живой список зеркал и участвует далее в механизме распределения нагрузки.
2) либрусек с того момента начинает пинговать сервер раз в минуту и выносит его IP из списка, если сервер не пронинговался 3 раза подряд с таймаутом в 10 секунд.
3) выбор зеркала делать на основе отчёта ps (unix) и данных о ширине канала (тут некоторый задел для творчества): загрузка . Где зеркала на виндах, либо разгрузку делать по рандому, либо придумать простой критерий выбора. Либо вообще всегда выбирать по рандому, но в данной задаче это может оказаться неэффективным, но для запуска пойдёт. Впрочем, всё зависит от того, какие каналы, какие вычислительные мощности, какие ОС будут у зеркал и сколько их будет. Возможно рандом окажется более оправданной концепцией и более простой в реализации.
Вот всё, что нужно. Демиургам сайта нужно лишь определить, какие части кода сайта жрут больше 1) трафика 2) камня, а затем определить, что из этого можно разделить без массивного кодирования.
Для начала хотя бы обрисуйте цифры, какие части сайта сколько каких ресурсов жрут, чтобы все видели и думали предметно, нежели абстрактно.
Действительно похоже на P2P, однако это скорее ad-hoc симбиоз централизованного Web-подхода и P2P распределения. Для юзера всё прозрачно, для исполнителей (повелителей зеркал) элементарно, для либрусека - самомасштабируемая подмога за цену минимальных пальцодвижений. Живучесть великолепная, масштабируемость замечательная. Единственное, уход серверов в любой момент конечно даст о себе знать, но хуже, чем сейчас, будет вряд ли.
Списки зеркал, кстати, всё-равно хорошо бы иметь в явном виде, чтобы FlashGet-ом, например, выкачивать со всех зеркал одновременно - там можно задавать список зеркал.
Беда с мускулом в такой схеме не решается кстати. Предложенное очевидно помогло бы разгрузить проблемы трафика, которые пока остро не стоят. Из реализуемого для мускула наверное только разделение форумов на корню - разные машины, разные базы данных - всё отдельно. Но опять же: нужны конкретные цифры по загрузке ЦПУ, - всё станет очевидно.
bw
Отв: Тех. помощь в создании зеркала либрусека
Ну, тут ещё можно посмотреть в сторону технологий а ля DynDNS - зеркало регистрирует свой текущий IP на центральном ресурсе, который обновляет балансер на своём round-robin DNS.
rrDNS, в свою очередь, отдаёт на запрос, скажем, download.lib.rus.ec, сразу пачку А-записей.
При этом эту пачку он каждый раз тасует (да хотя бы и просто круговым сдвигом), чтобы тупые клиенты ломились в "следующее" зеркало, а умные - могли сами обнюхать весь список.
При этом само зеркало может (мы же туда по HTTP попрёмся, так?) при перегрузке вместо запрошенного файла отдать Location-редирект на, скажем, "следующее" зеркало. При кольцевой организации списка зеркал вероятность бесконечного залупления редиректов будет невелика.
Только для этого свой DNS нужен...
Правда, небольшой и специализированный.
Можно и самопал слепить.
Впрочем гугель даёт довольно много релевантных ответов, типа этого и вот этого.
Отв: Тех. помощь в создании зеркала либрусека
Да реально, реально... Сколько уж можно об этом рассуждать? Движок есть, бд есть, апдейты ежедневные тоже есть, даже хостер и тот есть. Осталось найти знания веб програмирования и можно хоть сегодня поднимать :) Только вот знаний то нету...
Отв: Тех. помощь в создании зеркала либрусека
Ну у меня есть знания. Но чёта я не въехал в проблему? Что программировать-то надо?
Отв: Тех. помощь в создании зеркала либрусека
Да хз... Есть сервер. Че на нем вообще делать надо, чтобы зеркало заработало? Че на нем сделать надо, чтобы сервер автоматом синхронизировал бд? Ну и т.д... Проще говоря: как правильно прикрутить движок к "пустому" серверу :)
Отв: Тех. помощь в создании зеркала либрусека
синхронизация баз описана лариным в ветке allbooks.
движок вообще-то не нужно уж сильно прикручивать. Зеркала могут нести и пассивную функцию, не нужно создавать 10 сайтов, каждый из которых пытается рулить всё. Пусть рулит один, а остальные синхронизируются кэшированно, т.е. с некоторой задержкой. Тут всё-равно нужен анализ того, что работает синхронно (т.е. отправили мессагу - появилась по прибытии), а что асинхронно (т.е. отправляется сейчас, а во все клоны базы попадает раз в день, в 03:00). Эти две части определят, чему нужна мгновенная реакция, а что можно обновлять оптом раз в неделю.
Зеркала также можно построить так, чтобы они были абсолютно пассивными, т.е. банально на них перекидывался бы трафик. Но насколько я помню, ларин жаловался именно на перегруз мускула - для этого был куплен новый сервер. Т.е. анализировать надо, что нагружает мускул и как это минимизировать и разделять. Схема деления на сервер форума и download-сервер при такой задаче вряд ли сильно поможет: мускул-то всё-равно останется на одной машине и будет всю её нагружать безраздельно.
Отв: Тех. помощь в создании зеркала либрусека
А не получится ли так, что до тех пор пока обновления дойдут до зеркал, много народу будет пастись в обновлениях. Я например, уже давно хожу именно за обновлениями?
Отв: Тех. помощь в создании зеркала либрусека
Если только для скачивания книг - идеология P2P подходит лучше... наверное.
Отв: Тех. помощь в создании зеркала либрусека
http://thepiratebay.org/search/lib%20rus%20ec/0/99/0
Отв: Тех. помощь в создании зеркала либрусека
А вот чтоб с интерфейсом, как у корейца, да чтоб можно только обновления получить/отдать, да из нескольких источников, да все в одной базе, да... Вобчем, могу и продолжить, а впрочем, если хотя бы это скажешь где взять - уже ого-го!
Отв: Тех. помощь в создании зеркала либрусека
Я бы вообще предложил на вспомогательных сайтах оставить интерфейс типа веб-сервиса -
туда HTTP GET ... /download&book_id=2128507&format=fb2 , оттуда - OK 200 + собственно скачивание. Выбор сервера пользователем.... Вопрос неочевидный, либо ослиная схема (центральный сервер, на котором регистрируются вспомогательные) либо схема sourceforge, с preffered-серверами и переключением ручками. Единственное обязательное условие - не должен требоваться какой-то специфичный для Либрусека тонкий клиент, ибо и с платформонезависимостью, и с версиями, и с сопровождением - намаемся по самую нехочуху.
Что касается форумов.... Изрядную нарузку, имхо, дают именно блоги - то есть персональные ЖЖ наиболее плодовитых участников. М.б. имеет смысл заводить их на отдельных серверах (пусть Гугль за нас отдувается), а на странице Либрусека публиковать только ссылку/дату последней измененной записи ? Такое технически реализуемо ?
Снимет ли это нагрузку на ЛибРусЭк?
В интернете существует много различных рассылок. Может быть сделать рассылку "лист либрусека", которая приходила бы подписчикам листа. А в эту рассылку вкладывать файлы с книгами или прямые ссылки на скачивание. Тогда постоянные качатели будут иметь те же книги, не заходя сюда.
ЗЫ: Сорри если сказал глупость;) образование у меня гуманитарное;)
Отв: Снимет ли это нагрузку на ЛибРусЭк?
Вложения делать не надо, побъют-с. А вот с прямыми ссылками, да еще с аннотациями... Здравое зерно есть...
Кстати, 2All - а что, если при синхронизации данных между основным сервером и вспомогательными использовать иерархическую структуру FTN ?
Отв: Тех. помощь в создании зеркала либрусека
"пастись в обновлениях" - имеется в виду на центральном сервере? Сервер ляжет, и все пользователи волей-неволей расползутся по зеркалам. Или Вы что-то другое имели в виду ?
Отв: Тех. помощь в создании зеркала либрусека
Готов предложить свою помощь. Волею случая по роду деятельности занимаюсь как раз разработкой высокопроизводительных систем высокой надежности. С разгрузкой и тюнингом MySQL, nginx и т.п. постоянно занимаюсь. Есть множество вариантов разгрузки системы даже без приобретения дополнительного железа.
Отв: Тех. помощь в создании зеркала либрусека
это хорошо. мы передадим ларину. спасибо