Возможности Leafnode
Возможности Leafnode
Подобно INN, функционирование продукта Leafnode обеспечивает несколько взаимодействующих между собой программ. Наиболее важные из них перечислены ниже.
• leafnode. Программа, реализующая сервер NNTP. Она запускается посредством суперсервера и обеспечивает взаимодействие с программой просмотра новостей, выполняющейся на том же или на другом компьютере.
• fetchnews. Программа, отвечающая за получение групп новостей с внешнего сервера. Для чтобы периодически получать требуемые материалы, вы можете запускать данную программу с помощью инструмента cron. При необходимости fetchnews может быть вызвана вручную или из сценария, устанавливающего PPP-соединение.
• texpire. Подобно другим серверам новостей, Leafnode хранит сообщения групп в подкаталогах каталога /var/spool/news. Чтобы диск не переполнялся, приходится периодически удалять старые сообщения. Эту задачу решает программа texpire. Обычно она периодически запускается с помощью cron.
• newsq. Данная программа отображает сведения о сообщениях, отправленных в группы локальными пользователями, но еще не переданных на внешний сервер.
Leafnode осуществляет динамическую загрузку материалов групп. Если пользователь предпринимает попытку работы с группой, то при следующем запуске fetchnews материалы этой группы копируются с внешнего сервера. Если Leafnode обнаруживает, что в течение определенного периода времени ни один из пользователей не работал с этой группой, копирование материалов прекращается. Таким образом, у пользователей создается впечатление, что локальный сервер новостей поддерживает все группы, хотя на самом деле эту работу выполняет внешний сервер. Подобный подход к доставке данных приводит к тому, что при работе с новой группой сообщения поступают к пользователю с некоторой задержкой.
Одна из особенностей программы Leafnode состоит в том, что при ее использовании не требуется настройка для работы с источником новостей. Leafnode (если быть точным, программа fetchnews) взаимодействует с внешним сервером как обычная программа просмотра новостей. Благодаря этому можно организовать работу Leafnode с любым сервером новостей, например, сервером, расположенным на компьютере провайдера.
На заметку
С одной стороны, Leafnode потребляет больше ресурсов, чем обычная программа просмотра новостей, но, с другой стороны, она экономит ресурсы. Получение материалов обычной группы не занимает много времени и может осуществляться в течение одного сеанса связи с провайдером по протоколу PPP. Чтобы пользователь мог работать с группой, обычная программа просмотра новостей должна поддерживать постоянное соединение с внешним сервером. Если Internet-услуги предоставляются на условиях поминутной оплаты, Leafnode, безусловно, экономит ресурсы. В то же время Leafnode копирует все сообщения группы, даже те, которыми не заинтересуется ни один локальный пользователь. Но если с Leafnode работают несколько пользователей, которые интересуются приблизительно одинаковым набором материалов групп, общий объем переданной информации получается меньше, чем если бы каждая клиентская программа непосредственно взаимодействовала с внешним сервером.
В начале 2002 г. последней версией Leafnode была версия 1.9.19. Следующая версия (2.0) в это время находилась в стадии разработки. В версии 2.0 планируется реализовать поддержку локальных групп новостей. В версии 1.9.x такая возможность отсутствует.
Важно помнить, что продукт Leafnode разрабатывался для небольших узлов. Масштабируемость данного пакета ограничена, поэтому при обслуживании большого количества пользователей и поддержке большого числа групп новостей производительность Leafnode резко снижается. Наилучшим образом данный пакет обслуживает 20-25 пользователей. Если большая нагрузка приводит к снижению эффективности работы Leafnode, целесообразно рассмотреть возможность перехода к использованию INN или другого полнофункционального сервера новостей.
Еще одна проблема, возникающая при работе с Leafnode, состоит в том, что данный продукт игнорирует ошибки в сообщениях. В результате в группе могут появиться статьи, которые никогда не посылали в Usenet, а существующие сообщения могут быть доставлены пользователям в искаженном виде. Специальная настройка fetchnews позволят частично решить данную проблему, но при этом, если внешний сервер работает ненадежно, некоторые сообщения будут утеряны.