Вы здесьТех. помощь в создании зеркала либрусека
Опубликовано сб, 25/10/2008 - 13:10 пользователем Bill_G
Чесно говоря надпись на сайте "sorry overload" в любое время дня и ночи достала. Один человек готов предоставить под зеркало VPS, прошу администрацию или близких к ней написать в ЛС - дам контакты
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Aliki RE:Подайте бедному копеечку на книжку с литреса... 1 день
kopak RE:О группе Дятлова. О той самой, того самого... 1 день A5. RE:Не присылает пароль на почту 2 дня babajga RE:Плюмаж 1 неделя Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 2 недели babajga RE:Блошкинс и Фрю. Опасное путешествие 2 недели alexk RE:Багрепорт - 2 3 недели babajga RE:Удивленная сова 1 месяц Larisa_F RE:Серия «Квадрат» издательства «Текст» 1 месяц Aleks_Sim RE:Беженцы с Флибусты 1 месяц edvud RE:Прошу переформатировать, распознать, etc... 1 месяц monochka RE:С 8 Марта! 1 месяц babajga RE:Книга чуДОМищ 1 месяц ProstoTac RE:Подборка о Первой Мировой 1 месяц babajga RE:Нержавеющая сабля 1 месяц sem14 RE:«Уроки русского» 1 месяц Isais RE:Древний Рим. Подборка книг 1 месяц babajga RE:Отчаянная осень 1 месяц Впечатления о книгах
Саша из Киева про Гребенюк: Обжалованию не подлежит (Полицейский детектив, Советская классическая проза)
14 04 prjanik А нынешнюю литературу печатают мизерными тиражами, но она гораздо хуже!
Belomor.canal про Шелестов: Смерть Отморозка. Книга Вторая (Крутой детектив, Детективы: прочее, Современная проза)
14 04 Вторая книга более насыщена и фактурна, действие мощно движется по нескольким сюжетами без провисания и мы начинаем догадываться кто же этот Отморозок, смерть которого нам обещана с первой страницы. Лучшей роман читанный за последние время! Оценка: отлично!
mysevra про Аксенов: Таинственная страсть. Роман о шестидесятниках (Современная проза)
14 04 Эти люди умели жить так, словно находились не в Союзе. Оценка: хорошо
mysevra про Сапковский: Ведьмак [«Сага о Геральте» – в одном томе, 2020 год] [сборник litres] (Героическая фантастика, Фэнтези)
14 04 Домучила, не в обиду будь сказано фанатам. Я бы остановилась на двух первых шикарных книгах, чтобы не портить впечатления, если бы знала, о чём будут следующие истории. Оценка: неплохо
mysevra про Мищук: Шептуха [litres] (Фэнтези, Любовная фантастика)
14 04 Плоское какое-то, девочково-подростково-кустарное. Оценка: плохо
Олег Макаров. про Главная роль
14 04 Сначала было умеренно интересно. Ну, так, если больше читать нечего, то читать можно. Стиль не ужасный, развитие сюжета присутствует = жвачка... Но когда в шестой книге ГГ создал КГБ и госплан, и стал мечтать о том что ………
Синявский про Марио Варгас Льоса
14 04 На 90-м году жизни скончался Известный лауреат Нобелевской премии по литературе Марио Варгас Льоса.
Саша из Киева про Полякова: Три с половиной оборота [litres] (Детективы: прочее)
13 04 nik_ol Может быть, есть ещё произведения Татьяны Поляковой, ранее не публиковавшиеся.
Саша из Киева про Тихомиров: Сказ об Иване Болотникове (Историческая проза)
13 04 Файл djvu этой книги почему-то не скачивается.
nik_ol про Донцова: Гризли в белых носочках [litres] (Иронический детектив, Детективы: прочее)
12 04 Неужели книги Донцовой стали выхожть раз в полгода? Сомневаюсь, я посмотрела, там много их снова у неё... Почему новое не выкладываете, уважаемые, а? Заждалась. ((( Оценка: неплохо
nik_ol про Полякова: Три с половиной оборота [litres] (Детективы: прочее)
12 04 А новых книг не будет больше, что ли?.. Оценка: отлично!
udrees про Мантикор: Сверхмиазмы (Боевая фантастика, ЛитРПГ, Самиздат, сетевая литература)
12 04 Хорошее продолжение серии. Она будет явно долгой, раз персонажи застряли на двадцатых уровнях, а упоминаются уровни сороковые и враги там тоже куда ужасающее. Сам персонаж так же друид и со своей лесной магией может удивить ……… Оценка: отлично! |
Комментарии
Отв: Тех. помощь в создании зеркала либрусека
ау! либрусек это пустыня??
Отв: Тех. помощь в создании зеркала либрусека
может стоит написать в личку администрации? а так то что тут напишешь....
Отв: Тех. помощь в создании зеркала либрусека
Ларин щас путешествует по эквадору. Без него сами понимаете... Приедет, напишите ему. А пока есть движок и база - при желании можно поднять зеркало.
З.Ы. А контакты можно отправить на почту библиотекарей.
Отв: Тех. помощь в создании зеркала либрусека
реально сделать 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 и т.п. постоянно занимаюсь. Есть множество вариантов разгрузки системы даже без приобретения дополнительного железа.
Отв: Тех. помощь в создании зеркала либрусека
это хорошо. мы передадим ларину. спасибо