Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2007-12-05 15:09:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: sick
Музыка:Terra Incognita
Entry tags:blogs, ljr

распределенный блогосервер

Тут обсуждают распределенный блогосервер,

а я между прочим уже сто лет как составил
под него техзадание.

http://imperium.lenin.ru/LENIN/33/NPJ-LJ/RFC.html

Привет



(Читать комментарии) - (Добавить комментарий)


[info]pzz
2007-12-05 20:42 (ссылка)
Прочел ТЗ, ничего не понял. Хотя вроде и не дурак :-)

Подумай о том, что с учетом того, сколько сейчас стоит место на диске, и того, что быстрый интернет стал доступен практически всем, можно сделать полностью распределенный p2p блог.

У каждого на машине хранится его собственный блог, и те блоги, которые он читает постоянно. По мере возможности, машины синхронизируются между собой. Если меня занесло почитать блог, копии которого у меня нет локально, он синхронизируется on demand.

Так же в сети может быть некоторое количество "супернод", которые стараются держать у себя полную копию контента, и позволяют общаться с собой через HTTP и бровсер - для тех, кто не хочет поставить себе локального клиента. Такая супернода имеет семантику кеша с веб-интерфейсом. Смерть суперноды никак не отражается на сохранности контента.

Вся авторизация в системе осуществляется с помощью открытых/закрытых ключей. Любая запись (вообще, любое изменение) должно быть подписано ключем того, кто сделал это изменение.

(Ответить) (Ветвь дискуссии)


[info]tiphareth
2007-12-05 21:18 (ссылка)

Может, ты и прав, но почему-то этого никто не реализовал.

>У каждого на машине хранится его собственный блог, и те блоги, которые он >читает постоянно. По мере возможности, машины синхронизируются между собой.

Даже раз ж 10 минут поллить обновления
400 дневников на том же компьютере жрет 3/4 ресурсов
средней машины (экспериментальный факт).
Если они удаленные, и на разных компах - это
вообще трындец. Думаю, поэтому так и не делают.
Кстати, пуш-протоколы в сети не зря все вымерли.
Такая штука просто не может работать.

Хотя, кто знает

Такие дела
Миша

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]pzz
2007-12-05 21:47 (ссылка)
Это смотря, как поллить. Если это делать, как ЖЖ это делает (кстати, понятия не имею, как), то готов поверить, что оно сколько угодно ЦПУ сожрет. А если по уму делать, то 400 дневников раз в 10 минут - это вообще незаметная нагрузка. Как и раз в 10 секунд.

Hint 1: чтобы узнать, что 2 синхронизируемых объекта находятся в одинаковом состоянии, достаточно подсчитать cryptohash от их контента, и сравнить. Cryptohash можно считать инкрементально, по мере добавления новых записей. Чтобы узнать, где именно они расходятся методом деления пополам, нужно ln N операций, где N - число записей, на которые можно разбить дневник. Реально такой алгоритм сходится очень быстро.

Hint 2: нечто подобное делает rsync.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2007-12-05 22:13 (ссылка)

Это разумно. Но предполагает добрую волю и минимальную
грамотность индивидуального блоггера. Между нами - весьма глупое
предположение.

Не, 40-50 блогосерверов вроде LJR, с 10-30 тысячами
пользователей каждый, и культурным социальным контрактом
который реально энфорсится (вроде нашего) - это оптимум
для блогосферы в полмиллиона-миллион.

(Ответить) (Уровень выше)


[info]aspirantus
2007-12-05 21:53 (ссылка)
А как это всё поисковики индексировать будут?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]pzz
2007-12-05 22:04 (ссылка)
Это хороший вопрос.

Очевидный ответ на него заключается в том, что они будут сканировать web-овскую суперноду. Неочевидного ответа я не знаю.

(Ответить) (Уровень выше)


(Читать комментарии) -