Настроение: | tired |
Музыка: | THE MAKERS OF THE DEAD TRAVEL FAST |
Распределенный LJ
Писал про это сто раз уже,
но в связи с последними событиями
("Смертью LJ" от руки распоясавшейся Abuse Team)
пожалуй продублирую.
Надо построить распределенную версию протокола LJ,
по аналогии с NNTP; это в принципе совсем не трудно.
1. В существующий код LJ встроить XML-протокол
для удобства загрузки-выгрузки сообщений и комментариев
(это отчасти реализовано в http://www.livejournal.com/export.bml ;
так что должно быть нетрудно - тем более что export.bml написал
вообще-то
avva@lj).
2. Сделать много серверов. К каждому серверу
будут обращаться непосредственно всего несколько
человек; но во френд-ленту они будут заносить кого
угодно со всех остальных серверов. Записи
всех друзей пользователя дублируются локально
на его домашнем сервере, обновляются раз
в 10-20 минут. Дублирование происходит на
основе общения серверов между собой.
Именно так работает NNTP.
В протокол общения серверов нужно будет
встроить какую-то защиту на манер ssh,
если мы хотим иметь дело с подзамочными
сообщениями. Помимо этого, изменения кода
требуются минимальные - меньше, чем нужно,
чтобы клиент написать.
2.5 Головной сервер LJ (livejournal.com) вряд
ли будет менять свой протокол на распределенный;
нам нужно позволить пользователю продублировать
свой дневник там и автоматически загружать
туда его сообщения. Тогда для распределенного
пользователя ситуация будет не хуже, чем
для пользователя сервера LJ - свою френд-ленту
он будет хранить и читать локально у
себя, а пользователи головного сервера
будут читать дубли его сообщений на
головном сервере.
3. Конечно, подзамочные записи после этого
будут гораздо менее надежно сохраняться. Это
проблема. Ее можно решать, задавая разные уровни
доверия к разным удаленным серверам.
4. Скачивать в удаленную френд-ленту сообщения
под замочком из центрального сервера будет
труднее всего; для этого надо либо сделать
существенные изменения в код LJ, либо попросить,
чтобы добавляющий кого-то из распределенных
пользователей в друзья сообщал свой пароль
в какой-то из удаленных серверов; и дальше
качать его подзамочные записи не прямо,
а через этот удаленный сервер.
Такие дела
Миша.