Вы здесьТех. помощь в создании зеркала либрусека
Опубликовано сб, 25/10/2008 - 13:10 пользователем Bill_G
Чесно говоря надпись на сайте "sorry overload" в любое время дня и ночи достала. Один человек готов предоставить под зеркало VPS, прошу администрацию или близких к ней написать в ЛС - дам контакты
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Саша из Киева RE:Файл достаточно хорош. Нет смысла в его улучшении. Ага,... 1 день
Belomor.canal RE:Подайте бедному копеечку на книжку с литреса... 2 дня mazay RE:Sleepy Xoma - Bagⲣѱnoⲣojdennaѱ 3 дня zlyaka RE:С Новым годом! 4 дня Isais RE:Детство, опаленное войной (Вторая мировая 1939-1945 и ВОВ) 5 дней SparkySpirit RE:Прошу переформатировать, распознать, etc... 1 неделя SparkySpirit RE:Жорж Санд - переводы 19 века 1 неделя Саша из Киева RE:Наш дом - СССР 1 неделя babajga RE:Чернушка. Повести 1 неделя Саша из Киева RE:Сказки далёких островов 1 неделя babajga RE:Лопоухий бес 2 недели kopak RE:Таинственная личность админа Флибусты 2 недели babajga RE:Ежик покидает дом 2 недели babajga RE:Сказки бабушки Черепахи 2 недели babajga RE:Свист диких крыльев 2 недели Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 2 недели Саша из Киева RE:Турецкие мусорщики в Анкаре открыли библиотеку, полную... 3 недели Isais RE:Не тот автор 1 месяц Впечатления о книгах
polyn про Мартова: Одна смертельная тайна [litres] (Детективы: прочее)
05 01 Необычайно атмосферная книга, что даже я,обычно мало обращающая внимание на антураж, прониклась. Автор проделал гигантскую работу, изучая крестьянский быт середины 19 – начала 20 века российской глубинки. Оценка: отлично!
Дядя Морган про А. В. Панов
05 01 полёт Юрия Гагарина он тоже отрицал" И правильно отрицал, ведь Ю.Гагарин "Бога не видел", а значит небесной тверди не достиг, крутился где-то поблизости, в стратосфере.
Саша из Киева про Куанг: Отчий край [Quê nội ru] (Детская проза)
04 01 У книги Во Куанга "Отчий край" ("Quê nội") есть продолжение - книга "Tảng Sáng" ("Рассвет"). Но, к сожалению, на русский язык она не переведена.
slafan про Вадим Агарев
04 01 Написано грамотно. Но постепенно сюжет замедляется, непрерывная повторяемость действий ГГ уже надоедает, набор «шуток» один и тот же, все женщины от них ежедневно «выпадают из действительности», 90% текста - описание того, ………
Анни-Мари про Анна Леденцовская
04 01 Действительно, Леденцовская - так сладко, что слипается, и рояли рядами, причем не в кустах, а вместо них.))) Но читается неплохо.
Олег Макаров. про А. В. Панов
04 01 Кейсинг - непосредственный участник событий, нуи профессионал разумеется, не диванный эксперд" Только одно скажу: полёт Юрия Гагарина он тоже отрицал.
Oleg68 про Кобен: Вне игры [Fade Away ru] (Детективы: прочее)
03 01 Книга понравилась. Очередная интересная история про Майрона Болитара. Оценка: отлично!
187 про А. В. Панов
03 01 Как подметил sd_kozel, Кейсинг - непосредственный участник событий, нуи профессионал разумеется, не диванный эксперд. Кстати у автора вышла книга "Программа «Артемида»: Новый лунный обман США. Афёра 21-го века." - о очередной ………
kerch64 про Шамбаров: Как Царь Алексей Михайлович и Богдан Хмельницкий Украину освободили (Исторические приключения, История)
03 01 Книга" не историческая а продукт современной российской пропаганды. Исторические исследования не оперируют терминологией типа - "проглотить", "одолевать", "громил" и т.п. Все это создает нужный автору эмоциональный фон. ……… Оценка: плохо
Barbud про Тарханов: Объективная реальность (Исторические приключения, Самиздат, сетевая литература)
02 01 Начав читать главу 11, с удивлением узнал, что жену Сталина звали Светланой. Это точно не наш мир!)) Оценка: плохо
Олег Макаров. про Столичный доктор
02 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 и т.п. постоянно занимаюсь. Есть множество вариантов разгрузки системы даже без приобретения дополнительного железа.
Отв: Тех. помощь в создании зеркала либрусека
это хорошо. мы передадим ларину. спасибо