Кто должен генерировать RSS поток?

StUV

Rotaredom
А зачем отдавать 10 последних новостей(к примеру), не проще ли передать клиенту только нужные ему данные?
потому, что _по_договору_ клиент _может_хотеть_ "10 последних новостей за сегодня" - достаточно понятно ?..
 

AP

Новичок
а проверить «If-Modified-Since» и «If-None-Match» не судьба?
 

StUV

Rotaredom
где проверить?
что проверить?

вот ты говоришь
не проще ли передать клиенту только нужные ему данные?
чем определяется "только нужные ему"?
кто это определяет?
где определяет?

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

Line

Google, Co.
StUV
Реализованно сейчас именно так, т.е. при добавлении или изменении новости, генерируется RSS файл.
Это оптимально, если речь идет о 5-10-20-30 последних записях, которые нужно отдать. Плюс генерируется физически в файловой системе файл, при обращении к которому нет необходимости обращаться к БД и у физического файла всегда достоверная информация о дате его создания, следовательно сторонним RSS агрегаторам, проще понять когда был физически обновлен файл.
 

StUV

Rotaredom
енерируется физически в файловой системе файл
т.е. вместо актуализированного канала генерится "просто файл" ?
а смысл?

сторонним RSS агрегаторам, проще понять
в общем вам виднее, что куда агрегируется и с какой логикой - задача общая, ньюансов я не знаю - так что ничего более посоветовать не могу
 

Кощей

if(!$needle) die("ooh");
StUV
Так он актуализирован, как только что-то новое добавиться файл автоматически перегененируеться с новой статьей, ну может одну секунду она не будет актуальна :)
 

Line

Google, Co.
StUV
А что здесь непонятного? При записи новости в БД, в скрипте вызывается функция, которая пишет физически на диск RSS-файл.
 

jonjonson

Охренеть
Автор оригинала: StUV
где проверить? в базе?
на каждый запрос ленты клиентом дергать базу вместо того, чтобы просто генерить ее в момент изменения данных ?
Ох, мне жаль БД. Она развалится от SQL запросов!.. Какой ужас!
а если у тебя сотни запросов в секунду?
Значит хорошая посещаемость и имеет смысл позаботиться о хорошем хостинге.
 

jonjonson

Охренеть
Line, оптимизация делается по факту проблемы, а не основываясь на фантазиях.
 

StUV

Rotaredom
оптимизация делается по факту проблемы, а не основываясь на фантазиях
по факту ты получишь падение сервиса и потерю клиентов
если это твоя хоумпага - можешь не закладывать в архитектуру такие оптимизации и фиксить их заплатками по факту возникновения

если это серьезный ресурс с высокой посещаемостью - такие _очевидные_ риски нужно включать в архитектуру на стадии анализа, до написания какого-либо кода

-~{}~ 09.11.07 14:02:

Значит хорошая посещаемость и имеет смысл позаботиться о хорошем хостинге
забавно =)
 

jonjonson

Охренеть
StUV, покажите мне свой сайт где у вас "сотни запросов в секунду" к RSS, а потом расскажите как вы "закладываете в архитектуру".

Лёгкий рандом вставленный в мою схему для проверки изменений в источниках вполне облегчит нагрузку. А вот статичный вариант для ленты с поддержкой комментариев к новостям будет выглядеть забавно ;)
 

AP

Новичок
jonjonson
5 баллов!
StUV
если клиент отправил заголовок «If-Modified-Since», то отдаём ему "новости" которые "старше" «If-Modified-Since». Если таких новостей нет, то посылаем клиенту заголовок "Not Modified".
а если у тебя сотни запросов в секунду?
как думаете что будет эфективней передавать заголовок или отдавать каждый раз по 100Кб текста?
 

Кощей

if(!$needle) die("ooh");
Хм немного не понял, вы говорите что для главной ленты нет смысла делать статичый rss файл даже если в день добавляеться по 1-3 новости ?
Для ленты комментариев к новости можно и скриптовую ленту, вообще незнаю кто такими лентами пользуеться.
 
Сверху